タグ

rubyとsearchに関するrbyのブックマーク (1)

  • 雲梯をすすむように - @m_seki の

    Ruby/RBTreeの存在をいままでしりませんでしたが、これ、おもろい。RB木(SBB木?)を提供する拡張ライブラリで、当然だけどRubyで書いた誰かのSBB木よりも相当速いと予想されます。 例によって転置インデックスをつくるよ。 require 'rbtree' tree = RBTree.new while line = ARGF.gets line.scan(/(\w+)/) do |words| pos = Regexp.last_match.begin(0) key = [words[0], ARGF.path, ARGF.file.lineno, pos] tree[key] = true end end 単語、ファイル名、行番号、行内の位置のArrayをkeyとします。valueはどうでもいいのでtrueで。 RBTreeのboundメソッドを使うとある範囲の要素を順に辿れ

    雲梯をすすむように - @m_seki の
  • 1