class MigemoStaticDict

Public Class Methods

new(filename) click to toggle source
Calls superclass method MigemoDict::new
# File lib/migemo-dict.rb, line 48
def initialize (filename)
  super(filename)
  @index = File.new(filename + ".idx").read.unpack "N*"
end

Public Instance Methods

lookup(pattern) { |migemo_dict_item| ... } click to toggle source
# File lib/migemo-dict.rb, line 53
def lookup (pattern)
  range = @index.bsearch_range do |idx| 
    key, values = decompose(get_line(idx))
    key.prefix_match(pattern)
  end
  if range 
    range.each do |i| 
      key, values = decompose(get_line(@index[i]))
      yield(MigemoDictItem.new(key, values)) 
    end
  end
end

Private Instance Methods

get_line(index) click to toggle source
# File lib/migemo-dict.rb, line 67
def get_line (index)
  @dict.seek(index)
  @dict.gets
end