默认情况下,Ruby Hash按ruby 1.8.7排序

Ami*_*Jha 1 ruby hashmap

我在生产服务器上使用ruby 1.8.7,并且在将其分配给变量时自动对哈希进行排序.在本地机器上工作正常.

这是从我的生产控制台获取的输出

>> a = {"b" => "a", "a" => "c"}

=> {"a"=>"c", "b"=>"a"}

>> a

=> {"a"=>"c", "b"=>"a"}
>> 
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?如何避免散列哈希?

谢谢

vir*_*tor 5

你不应该/不能.如果您的脚本依赖于某些特定的排序,那么您很可能希望使用键/值对列表.在1.8中使用散列时,规范中未定义顺序.使用1.9时,它被定义为按插入顺序枚举.