合并一些复杂的红宝石 [英] merge some complex hashes in ruby
本文介绍了合并一些复杂的红宝石的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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 | {第一,第二}}
不幸的是,对我而言,这两者似乎都没有问题。
任何建议都将得到真正的赞赏。
解决方案
这应该适合您:
h = h1.merge(h2){| key,first,second | first.merge(second)}
I'd like to merge the following hashes together.
h1 = {"201201" => {:received => 2}, "201202" => {:received => 4 }}
h2 = {"201201" => {:closed => 1}, "201202" => {:closed => 1 }}
particularly, my expected result is:
h1 = {"201201" => {:received => 2, :closed => 1}, "201202" => {:received => 4, :closed => 1 }}
I have tried every way as:
h = h1.merge(h2){|key, first, second| {first , second} }
unfortunately, neither seemed to work out fine for me. any advice would be really appreciated.
解决方案
This should work for you:
h = h1.merge(h2){|key, first, second| first.merge(second)}
这篇关于合并一些复杂的红宝石的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文