初步测试IRB表明,Ruby的哈希返回.keys
和.values
匹配顺序。 它是安全的假设,这样的话?
Answer 1:
是。 根据红宝石文档为哈希 ,“哈希枚举它们的值,所述对应的键插入的顺序。” 所以,你应该总是得到相同的顺序散列如果以同样的方式产生。
Answer 2:
取决于哪个版本的Ruby正在运行。 高达1.8,枚举没有插入顺序。 1.9开始,它会根据插入顺序列举键和值的话,是的,它是安全的,只要假设你正在运行1.9。
文章来源: Ruby Hash .keys and .values, safe to assume same order?