Ruby:Hash.keys和Hash.values方法返回的键/值的顺序是什么?

13

哈希表中的顺序是否与添加元素时的顺序相同?


3
根据下面评论的总和,你可以得出这种行为在Ruby 1.8和1.9版本之间是有所不同的。 - coreyward
2个回答

25

Ruby 1.9.2文档中的哈希类顶部声明:

哈希(Hash)按照对应键(key)插入的顺序枚举它们的值。

初步测试表明,这确实适用于Hash#keysHash#values两种方法,尽管这些方法的相应文档似乎没有指定。


5
请注意,这种行为是 Ruby 1.9 中新增的,之前的版本不保留顺序。 - Wayne

13

在 Ruby 1.8 中,哈希表中元素的顺序不是有保证的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接