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 }
それぞれが一意のキーを持つハッシュでプロパティを作成しました。 ハッシュをマージして、動物の名前、色、速度を表示します。
Ruby ハッシュをマージするための詳細なアプローチ
この方法では、コードに詳細を追加する必要があります。 上記の例では、ハッシュに割り当てられたキーを使用してハッシュをマージするだけで済みましたが、ここでは値をマージするプロパティを含めます。
新しいファイルを作成し、new.rb
という名前を付けて、次のコードを入力します。
a = {:cheetah => {:color => "spotted"}}
b = {:cheetah => {:speed => "100mph"}}
c = a[:cheetah].merge(b[:cheetah])
d = {:cheetah => c}
一意のキーを使用して各プロパティに値を割り当てた後、別のハッシュを作成して、前の 2つのハッシュをマージします。 次に、別のハッシュを作成して、ハッシュ c
のプロパティを表示します。
同じ一意のキーを持つハッシュをマージする状況では、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"
の両方が表示されることがわかります。
まとめ
ハッシュは、データを首尾一貫して表示するための非常に適した手段であり、各ハッシュに一意のキーを割り当てることで、プロパティを呼び出して他の機能を実行したり、この場合はハッシュをマージしたりすることが容易になります。 ハッシュに一意のキーが割り当てられているため、ハッシュのマージが容易になります。
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