Method: Keisan::AST::Assignment#evaluate
- Defined in:
- lib/keisan/ast/assignment.rb
#evaluate(context = nil) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/keisan/ast/assignment.rb', line 25 def evaluate(context = nil) context ||= Context.new lhs = children.first rhs = children.last if is_variable_definition? evaluate_variable_assignment(context, lhs, rhs) elsif is_function_definition? evaluate_function_assignment(context, lhs, rhs) elsif is_list_assignment? evaluate_list_assignment(context, lhs, rhs) else # Try cell assignment evaluate_cell_assignment(context, lhs, rhs) end end |