有什麼像boost :: multi_index但是對於ruby。基本上採取一些容器的對象,並使用N種不同的查詢方法對N個不同的方式編制索引。ruby的多索引容器
我想你可以在內存數據庫中使用SQLite的DataMapper,但我想知道是否有任何純粹的紅寶石。
下面是這種類型可能做的一個想象的例子。它看起來非常像數據庫,非常類似於 。
class Foo
attr_accessor :a
attr_accessor :b
attr_accessor :c
end
class FooIndexer < MultiIndex
hash_index :a do |o|
o.a
end
ordered_index :b do |x, y|
x.b <=> y.b
end
end
index = FooIndexer.new
index.insert(Foo.new (...))
index.insert(Foo.new (...))
index.insert(Foo.new (...))
index.insert(Foo.new (...))
index.insert(Foo.new (...))
index.find (index.a == 10)
index.find (index.b > 10 )
也許你可以舉一個boost :: multi_index的例子用例嗎? – AboutRuby 2010-09-01 01:07:12