Class: NaiveCalculator::Calculator
- Inherits:
-
Object
- Object
- NaiveCalculator::Calculator
- Defined in:
- lib/naive_calculator/calculator.rb
Instance Method Summary collapse
- #evaluate(input) ⇒ Object
-
#initialize ⇒ Calculator
constructor
A new instance of Calculator.
Constructor Details
#initialize ⇒ Calculator
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 |