2011-08-08 165 views
2

我正在寻找Ruby中的范围或段树实现。我找不到任何样品或宝石可用。范围/段树红宝石

有没有人有示例代码?

感谢,

回答

1

看起来有一个叫interval-tree,回购是在这里,https://github.com/gam3/interval-tree和这里https://github.com/misshie/interval-tree。似乎是后来谁做了这件事,但红宝石上的宝石指向第一位。很奇怪。

该文档在回购和其他地方是错误的。要使用它,请使用IntervalTree::InclusiveTree.newIntervalTree::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] 

正如你看到的,也是需要的语句在回购错误记录。真是一团糟。