やったこと
Hash でマージするときの下記メソッドを使ってみました。
- merge
- update
確認環境
$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
調査
ruby-hash.rb
h1 = { a: 100, b: 200, c: 300 }
h2 = { a: 10, d: 500 }
p h1.merge(h2) { |index, old, new| old + new }
p h1
p '---'
p h1.update(h2)
p h1
出力結果
$ ruby ruby-hash.rb
{:a=>110, :b=>200, :c=>300, :d=>500}
{:a=>100, :b=>200, :c=>300}
"---"
{:a=>10, :b=>200, :c=>300, :d=>500}
{:a=>10, :b=>200, :c=>300, :d=>500}