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 は「すべてを停止する」という意味だと考えてください。
チャレンジ
簡単入力から2つの整数を読み取ります:
startの数値endの数値
start から end までの数値をループで処理します。3で割り切れない数値のみを表示してください。3で割り切れる数値をスキップするには next を使用してください。
各数値はそれぞれの行に表示する必要があります。
例えば、入力が 1 と 10 の場合、出力は以下のようになります:
1
2
4
5
7
8
10入力が 5 と 9 の場合、出力は以下のようになります:
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, 6nextは現在の反復をスキップしてループを継続しますが、breakはループを完全に終了します。
自分で試してみよう
# 入力を読み込む
start = gets.chomp.to_i
end_num = gets.chomp.to_i
# TODO: 以下にコードを記述してください
# startからend_numまでの数値をループで処理する
# 3で割り切れる数値はnextを使用してスキップする
# 3で割り切れない数値を出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。