我有一个这样的嵌套Hash:
{
:a=>{
:toto=>{
:foo=>10,
:bar=>11,
:baz=>12
},
:titi=>"a"
},
:b=>{
:toto=>{
:foo=>31,
:bar=>45,
:baz=>78
},
:titi=>"b"
}
}
Run Code Online (Sandbox Code Playgroud)
我的目标是总结所有的:baz
价值观.我确信在红宝石中有一种漂亮的方法可以做到这一点.任何的想法?
谢谢.
#inject
是非常强大的方法,适用于数组和散列.您可以遍历哈希值并将所需的键与总和相加.
hash.inject(0) { |sum, (_,v)| sum += v[:toto][:baz] } # => 90
Run Code Online (Sandbox Code Playgroud)