30

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

4

2 回答 2

31

是的。根据Hash 的 Ruby 文档,“哈希按照插入相应键的顺序枚举它们的值。” 因此,如果以相同的方式创建哈希,您应该始终获得相同的顺序。

于 2012-07-05T18:45:14.977 回答
8

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

于 2012-07-05T19:04:48.360 回答