Под "объединением" двух хешей я думаю, что вы хотите поместить все содержимое двух разных хешей в один новый хеш. Поскольку ключи хеша должны быть уникальными, если один и тот же ключ существует в обоих исходных хешах, может выжить только одно значение.
В этом примере я объединяю содержимое хеша x и хеша y в хеш z. Значения в y перезапишут значения в z, если есть какие-либо дубликаты ключей.
x = { "a" => "1","b" => "2","c" => "3" }
y = { "c" => "999","d" => "4","e" => "5" }
z = {}
x.each do |key,value|
z[key] = value
end
y.each do |key,value|
z[key] = value
end
Всего в исходных хешах было 6 ключей. Поскольку ключ «с» был в обеих цепях, объединенный хэш имеет только 5 ключей.
=> {"a"=>"1", "b"=>"2", "c"=>"999", "d"=>"4", "e"=>"5"}