class Teacher::BinaryOperation

Public Instance Methods

eval(scope) click to toggle source
# File lib/teacher/nodes.rb, line 27
def eval(scope)
  operand_1 = elements.first
  operand_2 = elements.last
  loop do
    operand_1 = operand_1.eval(scope)
    break unless operand_1.is_a? Identifier
  end
  loop do
    operand_2 = operand_2.eval(scope)
    break unless operand_2.is_a? Identifier
  end
  operator.apply(operand_1, operand_2)
end