Суммирование значений массива хэшей в Ruby - PullRequest
9 голосов
/ 21 февраля 2010

У меня проблемы с поиском элегантного способа добавления массива хешей

[{:a=>1,:b=>2,:c=>3},{:a=>1,:b=>2,:c=>3},{:a=>1,:b=>2,:c=>3}]

должен вернуть

[{:a=>3,:b=>6,:c=>9}]

Я знаю, что это, вероятно, будет связано с отображением / сокращением, но я не могу понять правильный синтаксис, не помогает, что точка ruby-doc org не соответствует моей версии

Я использую 1.8.7

1 Ответ

10 голосов
/ 21 февраля 2010
array.inject{|x,y| x.merge(y){|_,a,b| a + b}}

(проверено на Ruby 1.8.7)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...