ruby - 在 Ruby 中对哈希数组的值求和

标签 ruby

我在想出添加哈希数组的优雅方法时遇到了麻烦

[{: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

最佳答案

array.inject{|x,y| x.merge(y){|_,a,b| a + b}}

(在 Ruby 1.8.7 上验证)

关于ruby - 在 Ruby 中对哈希数组的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2305110/

相关文章:

python - 是否有用于 ruby​​ 的轻量级框架,例如用于 python 的 web.py?

ruby-on-rails - 如何从字符串末尾获取数字

ruby - 关于如何使用正则表达式验证名字和姓氏的建议

ruby - 如何将单个对象变成 ruby 中可枚举的对象

ruby - 通过传递键数组使用 values_at 从 Ruby 哈希中提取值

ruby - 为什么这不起作用 : x. map (&:+"A")

ruby-on-rails - 在 Rails 关系上使用 Ruby 的 select 方法并更新它

ruby-on-rails - Ruby给了我类似其他人的四个失败

ruby-on-rails - 删除数据库表中的所有记录

ruby-on-rails - 可以使模块名称大写吗?