【发布时间】:2015-04-16 23:24:45
【问题描述】:
我有这个哈希
{
19132=>{
:occurences=>34,
:name=>"bar"
},
19133=>{
:occurences=>19,
:name=>"foo"
}
}
我想在每个键(19132 和 19133)上的新键(为什么不是 total)中找到出现次数 (34+19) 的添加。
我有类似的东西:
my_hash = {19132=>{:occurences=>34, :name=>"bar"}, 19133=>{:occurences=>19, :name=>"foo"}}
my_hash.values.inject{|memo, el| memo.merge(el){|k, old_v, new_v| old_v + new_v if k.is_a?(Numeric)}}
我找到了一些帮助 Here,但我被合并卡住了。我什至不知道这种方法是否可以解决我的问题。
【问题讨论】:
-
你能发布你想要的输出吗?
-
我不推荐它,但可以在不参考键
:occurrences(注意两个 r)的情况下计算总数:hash.values.map(&:values).flatten.reduce(0) { |tot, v| tot + v.to_i } #=> 53。