Rubyの「続行」に相当


648

Cおよび他の多くの言語にcontinueは、ループ内で使用すると、ループの次の反復にジャンプするキーワードがあります。continueRuby でこのキーワードに相当するものはありますか?


4
continueはループを「再開」しませんが、ループの次の反復にジャンプします。
Matt Crinklaw-Vogt

1
@mlaw:今後の混乱を防ぐために、質問を適宜編集しました。
Mark Szymanski

7
@dbrあなたが見つけた重複はこの後に尋ねられました。
Droogans 2013年

回答:


934

はい、と呼ばれていnextます。

for i in 0..5
   if i < 2
     next
   end
   puts "Value of local variable is #{i}"
end

これは以下を出力します:

Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
 => 0..5 

13
Rubyは(Perlを尊重-これは私が覚えている方法ですnext)C(上continue
大佐はパニック



42

forループの内部eachmapnextルビのキーワードのような反復子メソッドは、ループの次の反復にジャンプする効果があります(continueC と同じ)。

ただし、実際には、現在のブロックから戻るだけです。したがって、反復を行う必要がない場合でも、ブロックを取る任意のメソッドで使用できます。


素敵なやり直しのステートメント
Sigurd



1

次に使用すると、その条件がバイパスされ、残りのコードが機能します。以下では、完全なスクリプトと出力を提供しました

class TestBreak
  puts " Enter the nmber"
  no= gets.to_i
  for i in 1..no
    if(i==5)
      next
    else 
      puts i
    end
  end
end

obj=TestBreak.new()

出力:nmber 10を入力します

1 2 3 4 6 7 8 9 10

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.