class NumRu::Units::ShiftNode
Attributes
lhs[R]
ref[R]
rhs[R]
Public Class Methods
new(lhs, rhs)
click to toggle source
# File lib/numru/units.rb, line 2637 def initialize(lhs, rhs) @lhs, @rhs = lhs, rhs end
Public Instance Methods
deref()
click to toggle source
# File lib/numru/units.rb, line 2678 def deref case @lhs when ShiftNode @lhs.deref else @lhs end end
factor()
click to toggle source
# File lib/numru/units.rb, line 2691 def factor @lhs.factor end
flatten()
click to toggle source
# File lib/numru/units.rb, line 2654 def flatten lf = @lhs.flatten case lf when ShiftNode rf = lf.rhs.add_eval(@rhs) self.class.new(lf.lhs, rf) else self.class.new(lf, @rhs.flatten) end end
flatten2()
click to toggle source
# File lib/numru/units.rb, line 2653 def flatten2; @lhs; end
name()
click to toggle source
# File lib/numru/units.rb, line 2687 def name @lhs.name end
sort()
click to toggle source
# File lib/numru/units.rb, line 2665 def sort self.class.new(@lhs.sort, @rhs.sort) end
to_s()
click to toggle source
# File lib/numru/units.rb, line 2644 def to_s "(#{@lhs.to_s} @ #{@rhs.to_s})" end
trim()
click to toggle source
# File lib/numru/units.rb, line 2649 def trim self.class.new(@lhs.trim, @rhs.trim2) end
trim2()
click to toggle source
# File lib/numru/units.rb, line 2648 def trim2; @lhs; end