Сумма 2 хэш-атрибутов с одним и тем же ключом
У меня есть 2 хэша, например:
{'a' => 30, 'b' => 14}
{'a' => 4, 'b' => 23, 'c' => 7}
где a
, b
и c
- объекты. Как я могу суммировать эти хэш-ключи, чтобы получить новый хэш, например:
{'a' => 34, 'b' => 37, 'c' => 7}
Ответы
Ответ 1
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}