Class: NaiveCalculator::Calculator

Inherits:
Object
  • Object
show all
Defined in:
lib/naive_calculator/calculator.rb

Instance Method Summary collapse

Constructor Details

#initializeCalculator

Returns a new instance of Calculator.



5
6
7
8
# File 'lib/naive_calculator/calculator.rb', line 5

def initialize
  @environment = Environment.new
  @parser = ArithmeticParser.new
end

Instance Method Details

#evaluate(input) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/naive_calculator/calculator.rb', line 10

def evaluate(input)
  parse_tree = @parser.parse(input)

  if parse_tree
    parse_tree.eval(@environment)
  else
    raise 'Invalid input'
  end
end