LoginSignup
22
13

More than 5 years have passed since last update.

[Ruby] Hashの同じキーの値を足し合わせる

Last updated at Posted at 2016-01-31

Hash#merge を使うと、すっきりかける!素晴らしい!

a = {"2015/11"=>10, "2015/12"=>20, "2016/01"=>30}
b = {"2015/11"=>1, "2015/12"=>2, "2016/01"=>3}

a.merge(b){|k, v1, v2| v1 + v2}
=> {"2015/11"=>11, "2015/12"=>22, "2016/01"=>33}

今回は足しあわせたかったけど、別の用途でもいいですね。

ちなみにブロックを記述しないとmerge引数のHashで上書きマージされます。

a.merge(b)
=> {"2015/11"=>1, "2015/12"=>2, "2016/01"=>3}

もっとかっこよくかけるぜ!ってのお待ちしています!

22
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
13