我无法找出添加哈希数组的优雅方法
[{: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 dot org与我的版本不匹配
我正在使用1.8.7
答案 0 :(得分:10)
array.inject{|x,y| x.merge(y){|_,a,b| a + b}}
(在Ruby 1.8.7上验证)