class Planner::State
Attributes
id[R]
Public Class Methods
new(id)
click to toggle source
# File lib/sfpagent/sfplanner.rb, line 241 def initialize(id) @id = id end
read(i, lines, variables)
click to toggle source
# File lib/sfpagent/sfplanner.rb, line 213 def self.read(i, lines, variables) state = State.new(lines[i] == 'begin_state' ? 'init' : 'goal') if state.id == 'init' i += 1 var_index = 0 i.upto(lines.length) do |j| i = j break if lines[j] == 'end_state' var = variables[var_index] state[var.sym] = var[lines[j].to_i] var_index += 1 end fail "Cannot find end_state" if lines[i] != 'end_state' [i, state] elsif state.id == 'goal' i += 2 i.upto(lines.length) do |j| i = j break if lines[j] == 'end_goal' parts = lines[j].split(' ') var = variables[parts[0].to_i] state[var.sym] = var[parts[1].to_i] end fail "Cannot find end_goal" if lines[i] != 'end_goal' [i, state] end end