LoginSignup
0
0

More than 1 year has passed since last update.

配列の中から偶数値を取得する

Posted at

配列にある値の中から偶数の数をカウントして出力するメソッドを作る。


count_evens([2, 1, 2, 3, 4]) → 3
count_evens([2, 2, 0]) → 3
count_evens([1, 3, 5]) → 0

答えと解説

def count_evens(nums)
  count = 0
  nums.each do |num|
    if num.even?
      count += 1
    end     
  end
  puts count
end

変数countを用意 → 理由 配列の中の偶数の数を出力するためにカウントした数を保持するための変数が必要だから
count_evens で count=0 と記述するとループ処理となり、処理が繰り返されるたびにcount=0が実行されるのでcountの値が0に上書きされてしまう。
よってcountの定義はeach文のループ処理外で行う。

配列に入っている数字をeach文で取り出し、even?メソッドで一つずつ偶数かどうかを確認し、偶数だった場合はcountに1を足す

countに1を追加するための記述はcount = count + 1でも可能だが、自己代入演算子を使用するとシンプルに記述できるため

each文の処理が終了し、countに代入された最終的な数が偶数の数となる。

0
0
2

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
0
0