【发布时间】:2017-03-08 10:34:33
【问题描述】:
来自http://ruby-doc.org/core-2.4.0/Hash.html#method-i-each 的 ruby 文档:
哈希按照插入相应键的顺序枚举它们的值。
通常,我希望以随机顺序枚举哈希(以任意语言)。
ruby 如何跟踪插入顺序?除了哈希桶之外,它是否在键之间保留了一个链接列表?我想这很简单,但我真的很惊讶(以一种好的方式)他们一开始就这样做了。
【问题讨论】:
-
这是一个实现细节,我猜这取决于 Ruby 实现。
-
@sawa 不,不是,这就是为什么文档没有说这是一个实现细节。任何 1.9 后的 ruby 都会有这些,这是类合同的变化。
-
我并不是说实现细节中的有序散列。我是说Ruby“按顺序管理”的方式(你问的)是一个实现细节。
标签: ruby hash enumeration