class TreasureHunt
Attributes
next_waypoint[RW]
num_waypoints[RW]
Public Class Methods
new(loot)
click to toggle source
# File lib/lister.rb, line 16 def initialize(loot) @next_waypoint = Waypoint.new(loot) @num_waypoints = 1 end
Public Instance Methods
add_waypoint(hint)
click to toggle source
# File lib/lister.rb, line 21 def add_waypoint(hint) current = Waypoint.new(hint) current.leads_to = @next_waypoint @num_waypoints += 1 @next_waypoint = current end
remove(waypoint)
click to toggle source
# File lib/lister.rb, line 40 def remove(waypoint) current_loc = @next_waypoint result = nil prev_loc = nil while current_loc != nil if current_loc.item == waypoint.item result = current_loc prev_loc.leads_to = current_loc.leads_to end prev_loc = current_loc current_loc = current_loc.leads_to end return result end
search(value)
click to toggle source
# File lib/lister.rb, line 28 def search(value) current_loc = @next_waypoint result = nil while current_loc != nil if current_loc.item == value result = current_loc end current_loc = current_loc.leads_to end return result end
to_s()
click to toggle source
# File lib/lister.rb, line 55 def to_s current_loc = @next_waypoint result = "" while current_loc !=nil item = current_loc.item if item.is_a?(Symbol) result += ":" + item.to_s + ", " elsif item.is_a?(String) result += "'" + item.to_s + "', " else result += item.to_s + ", " end current_loc = current_loc.leads_to end return result.chomp(", ") end