我有一个哈希
h = {}
h.compare_by_identity
h[2.51] = 1
h1[2.51] = 2
编辑:h1[2.51] = 2
应该是 h[2.51] = 2
重复键没问题。但是当我使用
Hash[h.sort]
它只返回一个带有键的值
{2.51=>2}
有什么方法可以按排序顺序从哈希中获取两个值吗?
最佳答案
从 ruby 版本 2.0 开始,两个分配中的键 2.51
实际上是同一个对象(因为 ruby 内部缓存)。尝试在这两种情况下输出 2.51.object_id
,它将输出相同的 id。
关于ruby - 如何对具有重复键的哈希进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476059/