2010-11-03 57 views
38

我有2個散列屬性,例如:薩姆2散列用同一密鑰

{'a' => 30, 'b' => 14} 
{'a' => 4, 'b' => 23, 'c' => 7} 

其中abc是對象。我該如何總結這些哈希鍵來得到這樣一個新的哈希:

{'a' => 34, 'b' => 37, 'c' => 7} 

回答

69
a_hash = {'a' => 30, 'b' => 14} 
b_hash = {'a' => 4, 'b' => 23, 'c' => 7} 

a_hash.merge(b_hash){ |k, a_value, b_value| a_value + b_value } 
=> {"a"=>34, "b"=>37, "c"=>7} 

b_hash.merge(a_hash){ |k, b_value, a_value| a_value + b_value } 
=> {"a"=>34, "b"=>37, "c"=>7}