加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在ruby中列出实现?

发布时间:2020-12-17 01:49:15 所属栏目:百科 来源:网络整理
导读:我对 Ruby中对Array类的理解有点挣扎.我在谷歌上看过 一个Array类实际上更像是一个列表,但我似乎无法找到它实际上是如何工作的. 我真的很关心性能问题,因为我必须处理大型排序列表,以及 我不想跨越整个数组来向它添加单个元素. 所以我想知道是否有任何真实而
我对 Ruby中对Array类的理解有点挣扎.我在谷歌上看过
一个Array类实际上更像是一个列表,但我似乎无法找到它实际上是如何工作的.

我真的很关心性能问题,因为我必须处理大型排序列表,以及
我不想跨越整个数组来向它添加单个元素.

所以我想知道是否有任何真实而清晰的列表实现(例如在caml中),我也在寻找关于如何实现Array方法的优秀文档,关于优化问题.

谢谢!

解决方法

Ruby数组提供完整的列表界面:

> push/<<用于在末尾添加元素
> each提供了列表遍历的迭代器
> sort允许您使用可选块对项目进行排序,以用于自定义比较器
> ……

所以没有明显的需要有一个特殊的List类或模块 – 以Java为例,如果我们一直需要List,我们最终会使用ArrayList,因为它为我们提供了良好的性能以及通过索引访问元素的额外好处.所以Ruby(类似于其他语言,如Python,PHP或Lua)通过提供三种类型(Array,Hash和Set)来尝试简化集合类型,因此具有丰富的界面,可以轻松模拟其他集合类型,如List,Queue或Deque等.

如果您想了解有关实现的详细信息,我建议您只需下载Ruby源并调查相应的文件(对于MRI,它位于顶级目录中的array.c).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读