Class: Dentaku::AST::Division
Instance Attribute Summary
Attributes inherited from Operation
#left, #right
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Arithmetic
#initialize, #type
Methods inherited from Operation
#dependencies, #initialize, right_associative?
Methods inherited from Node
arity, #dependencies, peek
Class Method Details
.precedence ⇒ Object
129
130
131
|
# File 'lib/dentaku/ast/arithmetic.rb', line 129
def self.precedence
20
end
|
Instance Method Details
#operator ⇒ Object
118
119
120
|
# File 'lib/dentaku/ast/arithmetic.rb', line 118
def operator
:/
end
|
#value(context = {}) ⇒ Object
122
123
124
125
126
127
|
# File 'lib/dentaku/ast/arithmetic.rb', line 122
def value(context = {})
r = cast(right.value(context), false)
raise Dentaku::ZeroDivisionError if r.zero?
cast(cast(left.value(context)) / r)
end
|