0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Ruby] 配列内の偶数を数える

Last updated at Posted at 2020-11-29

初記事

プログラミング初心者
勉強したことで気になったこと、書き留めておこうと思ったこと、オリジナルアプリ作る際などに記事にしていきます。

初記事は標題の配列内の偶数を数える方法で書きます。

何時ごろか忘れましたがかなり前に同じ問題を解きました。
初めて解くときは途中でわからなくなり解説付きの答えを見ました。

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

※出力例
count_evens([2, 1, 2, 3, 4]) → 3
count_evens([2, 2, 0]) → 3
count_evens([1, 3, 5]) → 0

今は普通に理解できるので簡単に解説すると、配列の中の数字をとりあえず全部出してみてif分で条件に合うものをカウントしたら偶数がカウントできちゃうという仕組み。(ざっくりだけど合ってるよね?)

今回はこの問題に2回目に挑戦。
上記で書いた内容はちょっと忘れてて、何も見ずに問題を解きました。

※今回の回答

def count_evens(num)
  puts num.count{ |i| i.even? }
end 

カウントするからcountメソッド使えばいいか〜でこんな感じ。
理解を深めるためと解説するにあたって少し調べました。
countメソッド 公式リファレンス
リファレンスにも書いてあることですが、countメソッドはブロックを指定した場合、真の値を数えてくれるというやつ。
初めに見た解説付きの答えと同じ結果が出力されました。(よきよき)

この考えで本当に合ってるかどうかわかりません。何か間違ってるとこなどあればご指摘いただければと。

でわ良き日曜日を:raised_hand:

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?