module Bmg::Operator::Nary

Attributes

operands[RW]

Public Instance Methods

bind(binding) click to toggle source
# File lib/bmg/operator/shared/nary.rb, line 6
def bind(binding)
  _with_operands(operands.map{|op| op.bind(binding) })
end

Protected Instance Methods

_visit(parent, visitor) click to toggle source
# File lib/bmg/operator/shared/nary.rb, line 18
def _visit(parent, visitor)
  visitor.call(self, parent)
  operands.each{|op|
    op.send(:_visit, self, visitor)
  }
end
_with_operands(operands) click to toggle source
# File lib/bmg/operator/shared/nary.rb, line 14
def _with_operands(operands)
  dup.tap{|d| d.operands = operands }
end