Menu
Coddy logo textTech

Next

CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 42/88。

break はループを完全に終了しますが、現在の反復(イテレーション)をスキップして次の反復に進みたいだけのときもあります。next キーワードは、まさにそれを行います。

Rubyがnextに遭遇すると、現在のイテレーションの残りのコードをスキップして、即座にループの次のイテレーションにジャンプします。

for i in 1..5
  if i == 3
    next
  end
  puts i
end

これは1、2、4、5を出力します。iが3に等しいとき、nextキーワードはputsステートメントをスキップし、iが4になる次のイテレーションに直接移動します。

一般的なユースケースは、不要な値を除外することです。例えば、偶数のみを出力する場合です:

for num in 1..6
  if num % 2 != 0
    next
  end
  puts num
end
# 出力: 2, 4, 6

奇数はスキップされ、偶数のみが出力されます。next は「これをスキップして続行する」という意味、break は「すべてを停止する」という意味だと考えてください。

challenge icon

チャレンジ

簡単

入力から2つの整数を読み取ります:

  1. start の数値
  2. end の数値

start から end までの数値をループで処理します。3で割り切れない数値のみを表示してください。3で割り切れる数値をスキップするには next を使用してください。

各数値はそれぞれの行に表示する必要があります。

例えば、入力が 110 の場合、出力は以下のようになります:

1
2
4
5
7
8
10

入力が 59 の場合、出力は以下のようになります:

5
7
8

チートシート

nextキーワードは、ループの現在の反復をスキップして、次の反復に移動します。

for i in 1..5
  if i == 3
    next
  end
  puts i
end
# 出力: 1, 2, 4, 5

値をフィルタリングするためにnextを使用します。例えば、偶数のみを出力する場合です。

for num in 1..6
  if num % 2 != 0
    next
  end
  puts num
end
# 出力: 2, 4, 6

nextは現在の反復をスキップしてループを継続しますが、breakはループを完全に終了します。

自分で試してみよう

# 入力を読み込む
start = gets.chomp.to_i
end_num = gets.chomp.to_i

# TODO: 以下にコードを記述してください
# startからend_numまでの数値をループで処理する
# 3で割り切れる数値はnextを使用してスキップする
# 3で割り切れない数値を出力する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン