해시 배열이있어 선택한 값을 합산하려고합니다. 나는 그 (것)들 전부 또는 그 (것)들의 1 개를 합계하는 방법 그러나 1 개 이상 열쇠를 선택하는 방법 아닙니다 합계하는 방법을 알고있다.루비 : 선택한 해시 값의 합계
예 :
[{"a"=>5, "b"=>10, "active"=>"yes"}, {"a"=>5, "b"=>10, "active"=>"no"}, {"a"=>5, "b"=>10, "action"=>"yes"}]
내가 사용 그들 모두를 요약하면 :
t = h.inject{|memo, el| memo.merge(el){|k, old_v, new_v| old_v + new_v}}
=> {"a"=>15, "b"=>30, "active"=>"yesnoyes"} # I do not want 'active'
가 하나의 키를 요약하면, 내가 할 :
h.map{|x| x['a']}.reduce(:+)
=> 15
가 어떻게 합산 가야합니까 키 'a'와 'b'에 대한 값?
| X | x [ 'a'] + x [ 'b']} .reduce (: +)'? –
귀하의 코멘트에 대해 @kardeiz에게 감사드립니다. 그러나 그것은 45를 반환하고 있습니다. 나는 그것을 분명하게해야했습니다 ... 내가 원하는 것은 : { 'a'=> 15, 'b'=> 30} – Digger