#はじめに
paizzaのスキルチェックに挑戦しましたが、スクールのドリルよりもはるかに難しく、まだまだ基礎が定着していない事が分かりました。
これからも基礎を定着させ、スクルチェックに挑戦したいと思います。
#問題
配列にある値の中から偶数の数をカウントして出力するメソッドを作ってください。
出力例:
count_evens([2, 1, 2, 3, 4]) → 3
count_evens([2, 2, 0]) → 3
count_evens([1, 3, 5]) → 0
#ヒント
even?メソッドを使用します。
公式リファレンス
.rb
4.even?
#=> true
7.even?
#=> false
#解答
.rb
def count_evens(nums)
count = 0
nums.each do |num|
if num.even?
count += 1
end
end
puts count
end
配列の中の偶数が何個あるかを保存するために、変数countを用意します。
変数countをeach文のループ処理内に記述すると、処理が繰り返されるたびにcount = 0が実行され、countの数値が0に上書きされてしまいます。
そのため、countの定義はeach文のループ処理外で行います。
配列の中に入っている数字をeachメソッドで1つづつ取り出し、ifで「数字が偶数だったとき」countに1が追加される記述をします。