class Jisx0402::Tree::Node
Attributes
value[RW]
Public Class Methods
new()
click to toggle source
# File lib/jisx0402/tree.rb, line 25 def initialize @data = {} @value = nil end
Public Instance Methods
insert(key, remain, val)
click to toggle source
# File lib/jisx0402/tree.rb, line 30 def insert(key, remain, val) @data[key] ||= Node.new if remain.empty? @data[key].value = val else @data[key].insert(remain.shift, remain, val) end end
search(key, remain)
click to toggle source
# File lib/jisx0402/tree.rb, line 39 def search(key, remain) return nil unless @data[key] if remain.empty? @data[key].values else @data[key].search(remain.shift, remain) end end
values()
click to toggle source
# File lib/jisx0402/tree.rb, line 48 def values [value, *@data.values.map(&:values)].compact end