a persistent list
# File lib/hocon/impl/resolve_source.rb, line 198 def initialize(value, next_node = nil) @value = value @next_node = next_node end
# File lib/hocon/impl/resolve_source.rb, line 207 def head @value end
# File lib/hocon/impl/resolve_source.rb, line 215 def last i = self while i.next_node != nil i = i.next_node end i.value end
# File lib/hocon/impl/resolve_source.rb, line 203 def prepend(value) Node.new(value, self) end
# File lib/hocon/impl/resolve_source.rb, line 223 def reverse if @next_node == nil self else reversed = Node.new(@value) i = @next_node while i != nil reversed = reversed.prepend(i.value) i = i.next_node end reversed end end
# File lib/hocon/impl/resolve_source.rb, line 211 def tail @next_node end
# File lib/hocon/impl/resolve_source.rb, line 237 def to_s sb = "" sb << "[" to_append_value = self.reverse while to_append_value != nil sb << to_append_value.value.to_s if to_append_value.next_node != nil sb << " <= " end to_append_value = to_append_value.next_node end sb << "]" sb end