Ruby ハッシュ同士を結合する

  • 作成日 2021.09.06
  • 更新日 2022.08.04
  • Ruby
Ruby ハッシュ同士を結合する

Rubyで、mergeを使用して、ハッシュ同士を結合するサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。

環境

  • OS windows10 pro 64bit
  • ruby 2.7.2p137

merge使い方

merageを使用すれば、ハッシュ同士を結合することが可能です。

# hash1の値は変わらない
hash1.merge(hash2)

以下は、異なるキーを持つハッシュ同士を結合するサンプルコードとなります。

h1 = {'key1' => 1, 'key2' => 2}
h2 = {'key3' => 3, 'key4' => 4}

p h1.merge(h2)
# {"key1"=>1, "key2"=>2, "key3"=>3, "key4"=>4}

p h1
# {"key1"=>1, "key2"=>2}

merge!を使用すると、元の値も変更されます。

h1 = {'key1' => 1, 'key2' => 2}
h2 = {'key3' => 3, 'key4' => 4}

p h1.merge!(h2)
# {"key1"=>1, "key2"=>2, "key3"=>3, "key4"=>4}

p h1
# {"key1"=>1, "key2"=>2, "key3"=>3, "key4"=>4}

また、同じキーを持つ場合は値は上書きされます。

h1 = {'key1' => 1, 'key2' => 2}
h2 = {'key1' => 3, 'key2' => 4}

p h1.merge(h2)
# {"key1"=>3, "key2"=>4}