Class: Wongi::Engine::VariantSet
- Inherits:
-
Object
- Object
- Wongi::Engine::VariantSet
- Defined in:
- lib/wongi-engine/beta/or_node.rb
Instance Attribute Summary collapse
-
#children ⇒ Object
readonly
Returns the value of attribute children.
Instance Method Summary collapse
- #compile(context) ⇒ Object
-
#initialize(conditions) ⇒ VariantSet
constructor
A new instance of VariantSet.
- #introduces_variable?(var) ⇒ Boolean
Constructor Details
#initialize(conditions) ⇒ VariantSet
Returns a new instance of VariantSet.
31 32 33 |
# File 'lib/wongi-engine/beta/or_node.rb', line 31 def initialize conditions @children = conditions end |
Instance Attribute Details
#children ⇒ Object (readonly)
Returns the value of attribute children.
30 31 32 |
# File 'lib/wongi-engine/beta/or_node.rb', line 30 def children @children end |
Instance Method Details
#compile(context) ⇒ Object
35 36 37 38 39 40 |
# File 'lib/wongi-engine/beta/or_node.rb', line 35 def compile context context.node = context.node.beta_memory.network( children, context.earlier, context.parameters, false ) context.node.context = context context.earlier << self context end |
#introduces_variable?(var) ⇒ Boolean
42 43 44 45 46 47 48 49 50 |
# File 'lib/wongi-engine/beta/or_node.rb', line 42 def introduces_variable? var children.any? { |c| if c.kind_of?( VariantSet ) c.introduces_variable?( var ) else c.respond_to?( :contains? ) and c.contains?( var ) end } end |