Class: OMF::Rete::Store::Alpha::AlphaInnerElement
- Inherits:
-
AlphaElement
- Object
- AlphaElement
- OMF::Rete::Store::Alpha::AlphaInnerElement
- Defined in:
- lib/omf_rete/store/alpha/alpha_inner_element.rb
Instance Method Summary collapse
- #addTuple(tarray) ⇒ Object
-
#initialize(level, length, store) ⇒ AlphaInnerElement
constructor
A new instance of AlphaInnerElement.
-
#registerTSet(tset, pattern) ⇒ Object
see Store.
- #removeTuple(tarray) ⇒ Object
Methods inherited from AlphaElement
Constructor Details
#initialize(level, length, store) ⇒ AlphaInnerElement
Returns a new instance of AlphaInnerElement.
7 8 9 10 11 12 13 14 |
# File 'lib/omf_rete/store/alpha/alpha_inner_element.rb', line 7 def initialize(level, length, store) super(level, store) @length = length @children = {} if (level < length) @wildChild = AlphaElement.create(level + 1, length, store) end end |
Instance Method Details
#addTuple(tarray) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/omf_rete/store/alpha/alpha_inner_element.rb', line 28 def addTuple(tarray) el = tarray[@level] if (child = @children[el]) child.addTuple(tarray) end @wildChild.addTuple(tarray) if (@wildChild) end |
#registerTSet(tset, pattern) ⇒ Object
see Store
18 19 20 21 22 23 24 25 26 |
# File 'lib/omf_rete/store/alpha/alpha_inner_element.rb', line 18 def registerTSet(tset, pattern) pitem = pattern[@level] if (pitem) # not nil child = (@children[pitem] ||= AlphaElement.create(@level + 1, @length, @store)) child.registerTSet(tset, pattern) else # wildcard @wildChild.registerTSet(tset, pattern) end end |
#removeTuple(tarray) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/omf_rete/store/alpha/alpha_inner_element.rb', line 36 def removeTuple(tarray) el = tarray[@level] if (child = @children[el]) child.removeTuple(tarray) end @wildChild.removeTuple(tarray) if (@wildChild) end |