Ruby Hash .keys和.values,可以安全地假设相同的顺序?

时间:2012-07-05 18:39:14

标签: ruby hash

基本的irb测试表明Ruby Hash按匹配顺序返回.keys.values。假设是这种情况可以安全吗?

2 个答案:

答案 0 :(得分:23)

是。根据{{​​3}},“哈希按照插入相应键的顺序枚举它们的值。”因此,如果以相同的方式创建哈希,则应始终获得相同的顺序。

答案 1 :(得分:8)

取决于您运行的是哪个Ruby版本。 高达1.8,枚举不是按插入顺序排列的。从1.9开始,它将根据插入顺序枚举键和值,因此,只要您运行1.9,就可以安全地假设。