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
Class Method Details
.precedence ⇒ Object
114
115
116
|
# File 'lib/dentaku/ast/arithmetic.rb', line 114
def self.precedence
20
end
|
Instance Method Details
#operator ⇒ Object
103
104
105
|
# File 'lib/dentaku/ast/arithmetic.rb', line 103
def operator
:/
end
|
#value(context = {}) ⇒ Object
107
108
109
110
111
112
|
# File 'lib/dentaku/ast/arithmetic.rb', line 107
def value(context={})
r = cast(right.value(context), false)
raise Dentaku::ZeroDivisionError if r.zero?
cast(cast(left.value(context)) / r)
end
|