3

Ruby での範囲ツリーまたはセグメント ツリーの実装を探しています。利用可能なサンプルまたは宝石が見つかりませんでした。

誰もサンプルコードを持っていますか?

ありがとう、

4

2 に答える 2

1

と呼ばれるものがあるようです。interval-treeレポはこちらhttps://github.com/gam3/interval-treeとこちらhttps://github.com/misshie/interval-treeです。作ったのは後の方のようですが、rubygems の宝石は最初の方を指しています。非常に奇妙な。

ドキュメントは、レポやその他の場所で間違っています。使用するには、 または のいずれかを使用しIntervalTree::InclusiveTree.newますIntervalTree::ExclusiveTree.new。これは奇妙なことにどこにも文書化されていません。また、同様に奇妙ですが、これを修正するために github リポジトリに問題を追加することはできません。フォークして、コミュニティが維持できる新しいバージョンを作成することを検討しています。

とにかく、これを使用する方法は次のとおりです。

require "interval-tree"

itv = [(0...3), (1...4), (3...5),]
t = IntervalTree::Tree.new(itv)
p t.search(2) => [0...3, 1...4]
p t.search(1...3) => [0...3, 1...4, 3...5]

ご覧のとおり、require ステートメントもリポジトリで誤って文書化されています。なんて混乱。

于 2015-02-26T17:47:55.553 に答える
1

このGithub リポジトリは...うーん... 'ruby interval tree' の Google での 4 番目のヒットです。

于 2011-08-08T18:40:49.460 に答える