# 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