class Datasets::Dictionary
Public Class Methods
new(values)
click to toggle source
# File lib/datasets/dictionary.rb, line 5 def initialize(values) build_dictionary(values) end
Public Instance Methods
decode(ids)
click to toggle source
# File lib/datasets/dictionary.rb, line 40 def decode(ids) ids.collect do |id| value(id) end end
each(&block)
click to toggle source
# File lib/datasets/dictionary.rb, line 25 def each(&block) @id_to_value.each(&block) end
encode(values)
click to toggle source
# File lib/datasets/dictionary.rb, line 34 def encode(values) values.collect do |value| id(value) end end
id(value)
click to toggle source
# File lib/datasets/dictionary.rb, line 9 def id(value) @value_to_id[value] end
ids()
click to toggle source
# File lib/datasets/dictionary.rb, line 17 def ids @id_to_value.keys end
size()
click to toggle source
# File lib/datasets/dictionary.rb, line 29 def size @id_to_value.size end
Also aliased as: length
value(id)
click to toggle source
# File lib/datasets/dictionary.rb, line 13 def value(id) @id_to_value[id] end
values()
click to toggle source
# File lib/datasets/dictionary.rb, line 21 def values @id_to_value.values end
Private Instance Methods
build_dictionary(values)
click to toggle source
# File lib/datasets/dictionary.rb, line 47 def build_dictionary(values) @id_to_value = {} @value_to_id = {} id = 0 values.each do |value| next if @value_to_id.key?(value) @id_to_value[id] = value @value_to_id[value] = id id += 1 end end