# 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 #{@operator} is not a number"
22:       end
23:       rval = @rval.safeevaluate(scope)
24:       rval = Puppet::Parser::Scope.number?(rval)
25:       if rval == nil
26:         raise ArgumentError, "right operand of #{@operator} is not a number"
27:       end
28: 
29:       # compute result
30:       lval.send(@operator, rval)
31:     end