Class: Dentaku::AST::Multiplication
- Inherits:
-
Arithmetic
- Object
- Node
- Operation
- Arithmetic
- Dentaku::AST::Multiplication
- Defined in:
- lib/dentaku/ast/arithmetic.rb
Instance Attribute Summary
Attributes inherited from Operation
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Arithmetic
Methods inherited from Operation
#accept, #dependencies, #display_operator, #initialize, max_param_count, min_param_count, right_associative?
Methods inherited from Node
arity, #dependencies, #name, peek, #type
Constructor Details
This class inherits a constructor from Dentaku::AST::Arithmetic
Class Method Details
.precedence ⇒ Object
144 145 146 |
# File 'lib/dentaku/ast/arithmetic.rb', line 144 def self.precedence 20 end |
Instance Method Details
#operator ⇒ Object
132 133 134 |
# File 'lib/dentaku/ast/arithmetic.rb', line 132 def operator :* end |
#value(context = {}) ⇒ Object
136 137 138 139 140 141 142 |
# File 'lib/dentaku/ast/arithmetic.rb', line 136 def value(context = {}) r = cast(right.value(context)).to_f l = cast(left.value(context)).to_f res = l*r res = res.to_i if res%1 == 0.0 res end |