2010-03-05 12 views

Respuesta

10

Como podría esperarse, el hash resultante contendrá el valor devuelto por un bloque para cada clave que existe en ambos hashes que se fusionan:

>> h1 = {:a => 3, :b => 5, :c => 6} 
=> {:a=>3, :b=>5, :c=>6} 
>> h2 = {:a => 4, :b => 7, :d => 8} 
=> {:a=>4, :b=>7, :d=>8} 
>> h1.merge h2 
=> {:a=>4, :b=>7, :c=>6, :d=>8} 
>> h1.merge(h2){|k,v1,v2| v1} 
=> {:a=>3, :b=>5, :c=>6, :d=>8} 
>> h1.merge(h2){|k,v1,v2| v1+v2} 
=> {:a=>7, :b=>12, :c=>6, :d=>8} 
Cuestiones relacionadas