Ruby ハッシュをマージする

Oluwafisayo Oluwatayo 2024年2月15日
  1. Ruby ハッシュをマージする簡単な方法
  2. Ruby ハッシュをマージするための詳細なアプローチ
  3. まとめ
Ruby ハッシュをマージする

ハッシュは配列に非常に似ていますが、通常、すべてのハッシュが独自の一意のキーを持つという点で異なります。

ハッシュを使用することは、データを整理された読みやすい構造に保つための最良のアプローチと見なされており、一意のキーを使用して 2つの Ruby ハッシュをマージすることもできます。

Ruby ハッシュをマージするさまざまな方法を見てみましょう。

Ruby ハッシュをマージする簡単な方法

この方法は単純化された方法と呼ばれます。これは、2 番目の方法に関しては、これが非常に簡単で、簡単に実行でき、使用するコードが少ないためです。

新しいファイルを作成し、new.rb という名前を付けて、これらのコードを追加します。

a = {:cheetah => {:color => "spotted"}}
b = {:cheetah => {:speed => "100mph"}}
a.merge(b) {|key, a_val, b_val| a_val.merge b_val }

それぞれが一意のキーを持つハッシュでプロパティを作成しました。 ハッシュをマージして、動物の名前、色、速度を表示します。

方法 1

Ruby ハッシュをマージするための詳細なアプローチ

この方法では、コードに詳細を追加する必要があります。 上記の例では、ハッシュに割り当てられたキーを使用してハッシュをマージするだけで済みましたが、ここでは値をマージするプロパティを含めます。

新しいファイルを作成し、new.rb という名前を付けて、次のコードを入力します。

a = {:cheetah => {:color => "spotted"}}
b = {:cheetah => {:speed => "100mph"}}
c = a[:cheetah].merge(b[:cheetah])
d = {:cheetah => c}

一意のキーを使用して各プロパティに値を割り当てた後、別のハッシュを作成して、前の 2つのハッシュをマージします。 次に、別のハッシュを作成して、ハッシュ c のプロパティを表示します。

方法 2

同じ一意のキーを持つハッシュをマージする状況では、Ruby は最初のハッシュを 2 番目のハッシュでオーバーライドします。

それを確認するには、新しいファイルを作成し、new.rb という名前を付けて、次のコードを入力します。

h1={"a"=>"cheetah","b"=>"apple"}
h2={"b"=>"mango","c"=>"lion"}
h1.merge!(h2)

マージの上書き

このコードを実行すると、マージされたハッシュに "apple" が含まれていないことがわかります。 しかし、コードを少し調整することでこれを回避できます。

新しいファイルを作成し、new.rb という名前を付けて、次のコードを入力します。

h1={"a"=>"cheetah","b"=>"apple"}
h2={"b"=>"mango","c"=>"lion"}
h1.merge(h2){|k,v1,v2|[v1,v2]}

マージは回避策を上書きします

"mango" の値だけを表示するプロパティ "b" の代わりに、プロパティ "b" の下に "apple""mango" の両方が表示されることがわかります。

まとめ

ハッシュは、データを首尾一貫して表示するための非常に適した手段であり、各ハッシュに一意のキーを割り当てることで、プロパティを呼び出して他の機能を実行したり、この場合はハッシュをマージしたりすることが容易になります。 ハッシュに一意のキーが割り当てられているため、ハッシュのマージが容易になります。

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn