如何在散列的单个键中对一组值求和?

应该快一个!在别处找不到确切的查询:

我有一个散列形式:

{"Chicago"=>[35.0, 5.0, 7.0], "Austin"=>[12.0, 42.0, 15.0, 8.0], ... }

我只是想对哈希值(数组)中的数字求和,变成:

{"Chicago"=> 47.0, "Austin"=> 77.0, ... }

我已经尝试过suminjecthash.values.each.inject(0) { |sum, x| sum + x}等)并且遇到了“数组不能被强制转换为整数”异常,我不确定解决这个问题的正确方法,尽管这似乎是一个相对简单的问题!

回答

看看Hash#transform_values。你也可以inject用Array#sum替换。

hash.transform_values(&:sum)


以上是如何在散列的单个键中对一组值求和?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>