2010-11-03 35 views
38
cùng

tôi có 2 băm, ví dụ:Sum 2 băm thuộc tính với phím

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

nơi a, bc là các đối tượng. Làm cách nào tôi có thể tổng hợp các khóa băm đó để có được một băm mới như:

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

Trả lời

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} 
Các vấn đề liên quan