In C und vielen anderen Sprachen gibt es ein continue
Schlüsselwort, das bei Verwendung innerhalb einer Schleife zur nächsten Iteration der Schleife springt. Gibt es ein Äquivalent zu diesem continue
Schlüsselwort in Ruby?
In C und vielen anderen Sprachen gibt es ein continue
Schlüsselwort, das bei Verwendung innerhalb einer Schleife zur nächsten Iteration der Schleife springt. Gibt es ein Äquivalent zu diesem continue
Schlüsselwort in Ruby?
Antworten:
Ja, es heißt next
.
for i in 0..5
if i < 2
next
end
puts "Value of local variable is #{i}"
end
Dies gibt Folgendes aus:
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
next
) über C ( continue
)
next
Schauen Sie sich auch an, redo
welche die aktuelle Iteration wiederholt .
redo
Befehl (oder seiner Essenz jedenfalls). Suchen Sie für Rubys Interpretation auf dieser Seite nach "Wiederherstellen" .
Schreiben Sie die Antwort von Ian Purton etwas idiomatischer:
(1..5).each do |x|
next if x < 2
puts x
end
Drucke:
2
3
4
5
Innerhalb von for-Schleifen und Iterator-Methoden wie each
und map
das next
Schlüsselwort in Ruby springen Sie zur nächsten Iteration der Schleife (wie continue
in C).
Was es jedoch tatsächlich tut, ist nur, vom aktuellen Block zurückzukehren. Sie können es also mit jeder Methode verwenden, die einen Block benötigt - auch wenn es nichts mit Iteration zu tun hat.
Ruby hat zwei weitere Schlüsselwörter für die Schleifen- / Iterationssteuerung: redo
und retry
.
Lesen Sie mehr über sie und den Unterschied zwischen ihnen in Ruby QuickTips .
Bei Verwendung als Nächstes wird diese Bedingung umgangen und der Rest des Codes funktioniert. Unten habe ich das vollständige Skript bereitgestellt und ausgegeben
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()
Ausgabe: Geben Sie die Nummer 10 ein
1 2 3 4 6 7 8 9 10