ruby - 在 ruby​​ 中合并一些复杂的哈希值

标签 ruby hash hash-of-hashes

我想将以下哈希合并在一起。

 h1 = {"201201" => {:received => 2},   "201202" => {:received => 4 }}
 h2 = {"201201" => {:closed => 1},  "201202" => {:closed => 1 }}

特别是,我的预期结果是:

h1 = {"201201" => {:received => 2, :closed => 1},  "201202" => {:received => 4, :closed => 1 }}

我试过各种方法:

h = h1.merge(h2){|key, first, second| {first , second} }

不幸的是,两者似乎都不适合我。 任何建议将不胜感激。

最佳答案

这应该适合你:

h = h1.merge(h2){|key, first, second| first.merge(second)}

关于ruby - 在 ruby​​ 中合并一些复杂的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691318/

相关文章:

ruby - 为什么在 Mac OS 上安装 Nokogiri 会因缺少 libiconv 而失败?

ruby - 为什么我不能得到 rake db :migrate to work for ruby. railstutorial.org

c++ - 如何检测 unordered_map vector 中的重复项?

bash - Git 哈希对象在 Powershell、CMD 和 Bash 中产生不同的 SHA1?

ruby sort_by 两次

ruby-on-rails - 检查字符串是否与多个选项相等

string - 具有输入更改容差阈值的哈希

Ruby 快速从散列的散列中创建一个数组?

perl - 在 Perl HoH 中访问嵌套哈希而不使用keys()?

perl - 如何从哈希散列中映射(和排序)值?