配列

ruby 配列の要素の合計、条件に合ったものの合計

配列で要素の合計を出したい場合、
sum関数で簡単にできる。(ruby2.4から使えるみたい)

irb(main):001:0> a=[1,2,3,4,5]
=> [1, 2, 3, 4, 5]
irb(main):002:0> a.sum
=> 15

偶数だけ足すだとか条件に合ったものだけを足す場合、
select関数で偶数だけの配列を作り、それをsum関数で合計する。

irb(main):013:0> a=[1,2,3,4,5,6]
=> [1, 2, 3, 4, 5, 6]
irb(main):014:0> a.select{|n| n.even?}.sum
=> 12

a.select{|n| n.even?} で偶数だけの配列を作っている。
ちなみにeven?は値が偶数だとtrue、それ以外だとfalseを返す関数

irb(main):015:0> a.select{|n| n.even?}
=> [2, 4, 6]

奇数だけを足す場合は

irb(main):019:0> a=[1,2,3,4,5,6]
=> [1, 2, 3, 4, 5, 6]
irb(main):020:0> a.select{|n| n.odd?}.sum
=> 9

a.select{|n| n.odd?} で奇数だけの配列を作っている。
odd?は値が奇数だとtrue、それ以外だとfalseを返す関数

irb(main):021:0> a.select{|n| n.odd?}
=> [1, 3, 5]

-配列