even?メソッド (Ruby)
問題
配列にある値の中から偶数の数をカウントして出力するメソッドを作るという問題です。
even?メソッドとは
対象の値が偶数であれば真を返します。そうでない場合は偽を返します。
10.even?
#=> true
5.even?
#=> false
ちなみにodd?メソッドで、
対象の値が奇数であれば真を返します。そうでない場合は偽を返します。
def count_evens(nums)
count = 0 #偶数の数を出力するために変数countを用意します
nums.each do |num| #each文で配列の中を一つづつ取り出します
if num.even? #even?メソッドで偶数か判定します
count += 1 #偶数の場合、countに1をたします
end #each文の処理が終了し、countに代入された最終的な数を出力します
end
puts count
end
count_evens([2, 1, 2, 3, 4]) #→ 3
count_evens([2, 2, 0]) #→ 3
count_evens([1, 3, 5]) #→ 0