ruby - 如何对具有重复键的哈希进行排序?

标签 ruby sorting hash

我有一个哈希

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/

相关文章:

ruby - 静态网站生成

python - 将元组列表拆分为同一元组字段的子列表

c++ - 使 std 的数据结构默认使用我现有的非静态哈希函数 "hashCode()"

java - 数据结构获取特定位置的所有元素

performance - 为什么我在此 PostgreSQL 查询中得到 'Hash Join' 和 FTS?

ruby - 使用 default_proc 初始化所有哈希

ruby-on-rails - 停止在 Rails 和浏览器中缓存图像?

java - Android - java - 如何通过 GregorianCalendar 参数对对象列表进行排序

ruby-on-rails - strftime - 是否修改该值?

python - DynamoDB 复合主键在系统内移动的最佳实践(分区键和排序键)