merge some complex hashes in ruby

327 views Asked by At

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.

1

There are 1 answers

2
Hck On BEST ANSWER

This should work for you:

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