ハッシュをマージする
h1 = Hash[*%w[Apple red Tomato red Papper red]] h2 = Hash[*%w[Spinach green Celery green Papper green]] p h1.merge(h2) #=> {"Celery"=>"green", "Tomato"=>"red", "Spinach"=>"green", "Apple"=>"red", "Papper"=>"green"} p h1.merge(h2) {|k, v1, v2| p [k,v1,v2]; v1 # つねにh1の値を優先させる } #=> ["Papper", "red", "green"] #=> {"Celery"=>"green", "Tomato"=>"red", "Spinach"=>"green", "Apple"=>"red", "Papper"=>"red"}
キーがかぶっている場合,merge()の中の値が優先される.ブロック付きで呼び出した場合,どちらのハッシュの値を使うか選択可能.