class Keisan::AST::Modulo

Public Class Methods

symbol() click to toggle source
# File lib/keisan/ast/modulo.rb, line 4
def self.symbol
  :%
end

Public Instance Methods

evaluate(context = nil) click to toggle source
# File lib/keisan/ast/modulo.rb, line 8
def evaluate(context = nil)
  children[1..-1].inject(children.first.evaluate(context)) {|total, child| total % child.evaluate(context)}
end
value(context = nil) click to toggle source
# File lib/keisan/ast/modulo.rb, line 12
def value(context = nil)
  children_values = children.map {|child| child.value(context)}
  children_values[1..-1].inject(children_values[0], &:%)
end