Sha256: 3dfb60edcdf65235fa5e9a8314e57fbfcad1498fd322e45121a5028cbaa44243
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
module Wongi::Engine class BetaMemory < BetaNode attr_reader :tokens def initialize parent super @tokens = [] end def seed assignments = {} @seed = assignments t = Token.new( nil, nil, assignments ) t.node = self @tokens << t end def subst valuations @tokens.first.delete token = Token.new( nil, nil, @seed ) token.node = self @tokens << token valuations.each { |variable, value| token.subst variable, value } self.children.each do |child| child.beta_activate token end end def beta_activate token, wme, assignments # puts "MEMORY #{@id} left-activated with #{wme}" t = Token.new( token, wme, assignments) t.node = self @tokens << t self.children.each do |child| if child.kind_of? BetaMemory child.beta_activate t, nil, {} else child.beta_activate t end end end def refresh_child child tokens.each do |token| child.beta_activate token, nil, {} end end def delete_token token tokens.delete token end # => TODO: investigate if we really need this #def beta_memory # self #end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
wongi-engine-0.0.6 | lib/wongi-engine/beta/beta_memory.rb |
wongi-engine-0.0.5 | lib/wongi-engine/beta/beta_memory.rb |
wongi-engine-0.0.3 | lib/wongi-engine/beta/beta_memory.rb |