Odpowiednik „kontynuuj” w Ruby


648

W C i wielu innych językach istnieje continuesłowo kluczowe, które użyte w pętli przeskakuje do następnej iteracji pętli. Czy jest jakiś odpowiednik tego continuesłowa kluczowego w Ruby?


4
Kontynuuj nie „restartuje” pętli, ale przeskakuje do następnej iteracji pętli.
Matt Crinklaw-Vogt

1
@mlaw: Zredagowałem moje pytanie, aby zapobiec przyszłym nieporozumieniom.
Mark Szymanski

7
@dbr po tym duplikat został znaleziony.
Droogans

Odpowiedzi:


933

Tak, to się nazywa next.

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

To powoduje, że:

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
Tak pamiętam - Ruby szanuje Perl ( next) powyżej C ( continue)
Pułkownik Panic



42

Wewnątrz pętli i na-iterator metod jak eachi kluczowe w Ruby będzie miał wpływ skoków do następnej iteracji pętli (tak samo jakmapnextcontinue w C).

Jednak tak naprawdę to po prostu wraca z bieżącego bloku. Możesz więc używać go z dowolną metodą, która zajmuje blok - nawet jeśli nie ma to nic wspólnego z iteracją.


a także miłe oświadczenie powtórne
Sigurd



1

Użyj następnej, pominie ten warunek, a reszta kodu będzie działać. Poniżej przedstawiłem pełny skrypt i out put

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()

Wyjście: wprowadź nmber 10

1 2 3 4 6 7 8 9 10

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.