Hash をマージする (Ruby)
Ruby
Published: 2019-10-02

やったこと

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}

参考