Class: Calculator
- Inherits:
-
Object
- Object
- Calculator
- Defined in:
- lib/calculator.rb
Instance Attribute Summary collapse
-
#memory ⇒ Object
Returns the value of attribute memory.
Instance Method Summary collapse
- #ArgNoPri(varia) ⇒ Object
- #ArgPri(varia) ⇒ Object
- #EnvVar ⇒ Object
- #eval(expr) ⇒ Object
- #guardar(var, val) ⇒ Object
- #guardarAE(var, val) ⇒ Object
- #imprimir(line, result) ⇒ Object
-
#initialize ⇒ Calculator
constructor
A new instance of Calculator.
- #llamar(var) ⇒ Object
Constructor Details
#initialize ⇒ Calculator
Returns a new instance of Calculator.
7 8 9 10 11 |
# File 'lib/calculator.rb', line 7 def initialize() @memory = 0 @map = Hash.new(0) @vblis = "" end |
Instance Attribute Details
#memory ⇒ Object
Returns the value of attribute memory.
5 6 7 |
# File 'lib/calculator.rb', line 5 def memory @memory end |
Instance Method Details
#ArgNoPri(varia) ⇒ Object
52 53 54 55 56 57 58 59 |
# File 'lib/calculator.rb', line 52 def ArgNoPri(varia) pr = varia.index('=') if pr != nil then var = varia[0,pr] val = varia[pr+1,varia.length].to_i $calc.guardarAE(var,val) end end |
#ArgPri(varia) ⇒ Object
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/calculator.rb', line 41 def ArgPri(varia) pr = varia.index('=') if pr != nil then var = varia[0,pr] if @map.has_key?(var) == false then val = varia[pr+1,varia.length].to_i $calc.guardarAE(var,val) end end end |
#EnvVar ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/calculator.rb', line 31 def EnvVar ENV.each do |k,v| if k.match("CALCVAR") then var = k[7,k.length] val = v.to_i $calc.guardarAE(var,val) end end end |
#eval(expr) ⇒ Object
13 14 15 16 |
# File 'lib/calculator.rb', line 13 def eval(expr) parser = Parser.new(expr) parser.parse() end |
#guardar(var, val) ⇒ Object
18 19 20 21 |
# File 'lib/calculator.rb', line 18 def guardar(var,val) @map[var] = val @vblis += var + " <- " + val.to_s + ", " end |
#guardarAE(var, val) ⇒ Object
23 24 25 |
# File 'lib/calculator.rb', line 23 def guardarAE(var,val) @map[var] = val end |
#imprimir(line, result) ⇒ Object
61 62 63 64 65 66 67 68 69 |
# File 'lib/calculator.rb', line 61 def imprimir(line,result) if line.include? "=" then copva = @vblis.chop.chop puts "=> " + result.to_s + " [" + copva + "]" @vblis = "" else puts "=> " + result.to_s end end |
#llamar(var) ⇒ Object
27 28 29 |
# File 'lib/calculator.rb', line 27 def llamar(var) return @map[var] end |