首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何搜索Ruby Maglev对象数组?

如何搜索Ruby Maglev对象数组?
EN

Stack Overflow用户
提问于 2010-02-17 04:55:47
回答 3查看 202关注 0票数 0

如何搜索磁悬浮对象数组?Maglev很棒,但它似乎没有任何查询功能。有没有什么外部库?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-18 06:55:41

底层MagLev VM已经支持索引很长一段时间了。下面是一个在http://github.com/MagLev/maglev/tree/master/examples/persistence/indexing/中索引和查询集合的示例

我们不得不关闭索引一段时间,但我们将在下一个版本中(可能在几天后)启用它,并提供一个更新的示例。

票数 2
EN

Stack Overflow用户

发布于 2012-02-05 08:11:36

Maglev 1.0.0现在有了IdentitySet,这可能会成为一种非常强大的查询机制,具有多属性搜索和索引维护功能,但目前它还不是很“像Ruby”。当您第一次使用静态方法self.__fixed_instvars :@inst_var1, :@inst_var2, ...定义您的类时,您必须定义您想要为其定义索引的所有属性,这将在第二次调用它时抛出一个异常(因此,您必须添加一个单独的保护,以防止它在第二次加载类时运行)。

从Smalltalk的角度来看,这似乎是可以理解的,在Smalltalk中,类具有版本并保持静态,但是它不太适合随着时间的推移而演变的一个“当前”类定义的磁悬浮情况。

如果你的问题真的只是查询一个数组,你总是可以求助于Ruby select-method,它是为大多数数据结构实现的,但它通常只需遍历所有对象,而不使用索引。

票数 1
EN

Stack Overflow用户

发布于 2012-11-19 12:22:19

我知道这有点晚了,但是...

首先,没有“Ruby数组”这样的东西,它只是一个MagLev数组。因为它只是一个Ruby数组,所以您可以使用Array#selectArray#detect。正如Peter所说,有内置的索引(已重新打开),但索引仅在无序集合上可用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2276278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档