LoginSignup
4
3

More than 3 years have passed since last update.

【Ruby】even?メソッドを使用して配列の中の偶数の数をカウントする

Last updated at Posted at 2020-09-11

配列にある値の中から、偶数の数をカウントして出力するメソッドを作ります。
値が偶数かどうかの判定はeven?メソッドを使います。

出力例:
count_evens([2, 1, 4, 6]) → 3

解答1

def count_evens(nums)
  count = 0
  nums.each do |num|
    if num.even?
      count += 1
    end     
  end
  puts count
end
  • 偶数の数を入れておく変数countを用意
  • eachメソッドで配列の中を1つずつ取り出してeven?メソッドで偶数か判定
  • 偶数だったらcountに1を足す
  • これを繰り返して最後にcountを出力する

解答2

解答1と比べるとまどろっこしい感じですが・・・

def count_evens(nums)
  result = []
  nums.each do |num|
    if num.even?
      result << num
    end
  end
  puts result.length
end
  • result = []は偶数の値を入れるための配列
  • 解答1と同じく、eachメソッドで配列の中を1つずつ取り出してeven?メソッドで偶数か判定
  • 偶数ならresult << numで配列の中にその偶数を入れる
  • 最後にresult.lengthで配列の中の要素数(つまりここでは配列の中に入っている偶数)がいくつあるか出力

おまけ

奇数かどうか判定するときはodd?メソッド

4
3
4

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
4
3