# File lib/puppet/parser/ast/arithmetic_operator.rb, line 16 16: def evaluate(scope) 17: # evaluate the operands, should return a boolean value 18: lval = @lval.safeevaluate(scope) 19: lval = Puppet::Parser::Scope.number?(lval) 20: if lval == nil 21: raise ArgumentError, "left operand of %s is not a number" % @operator 22: end 23: rval = @rval.safeevaluate(scope) 24: rval = Puppet::Parser::Scope.number?(rval) 25: if rval == nil 26: raise ArgumentError, "right operand of %s is not a number" % @operator 27: end 28: 29: # compute result 30: lval.send(@operator, rval) 31: end