In C und vielen anderen Sprachen gibt es ein continue
Schlüsselwort, das, wenn innerhalb einer Schleife verwendet wird, auf die nächste Iteration der Schleife springt. Gibt es ein Äquivalent dieses continue
Schlüsselworts in Ruby?Äquivalent von "weiter" in Ruby
Antwort
Ja, es heißt next
.
for i in 0..5
if i < 2
next
end
puts "Value of local variable is #{i}"
end
Das gibt das folgende:
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
So erinnere ich mich - Ruby respektiert Perl (' next') über C ('continue') –
Innen for-Schleifen und Iteratormethoden wie each
map
und das next
Schlüsselwort in rubin wird die Wirkung des Springens auf die nächste Iteration der Schleife (die gleichen wie in continue
C) hat.
Aber was es tatsächlich tut, ist nur aus dem aktuellen Block zurückzukehren. Sie können es also mit jeder Methode verwenden, die einen Block nimmt - auch wenn es nichts mit Iteration zu tun hat.
Ich denke, es heißt next.
next
auch bei redo
sehen, die die aktuellen Iteration nachvollzieht.
... cause ruby is rad so wie das. –
Ruby hat zwei weitere Schlüsselwörter für die Schleifen-/Iterationssteuerung: redo
und retry
. Read more about them, and the difference between them, at Ruby QuickTips.
Schreiben Ian Purton's answer in einer etwas idiomatische Weise:
(1..5).each do |x|
next if x < 2
puts x
end
Drucke:
2
3
4
5
- 1. Äquivalent von "pass" in Ruby
- 2. Ruby-Äquivalent von ASP.NETs Application_Start?
- 3. Ruby-Äquivalent von Python setattr()
- 4. Ruby-Äquivalent von C++ Const?
- 5. Ruby-Äquivalent von Tie :: Datei?
- 6. `if __name__ == '__main __' Äquivalent in Ruby
- 7. Pygame-Äquivalent für Ruby?
- 8. Ruby-Äquivalent -v
- 9. Was ist das Ruby-Äquivalent von preg_quote()?
- 10. Python-Äquivalent von Fortsetzungen mit Ruby
- 11. Hat Ruby/Rails ein Äquivalent von ++?
- 12. Objective-C-Äquivalent von Ruby-Symbolen
- 13. Ruby-Äquivalent von Perl Data :: Dumper
- 14. Python-Äquivalent für Ruby-Kombinationsmethode
- 15. Gibt es ein Äquivalent zu "weiter" in einer Parallel.ForEach?
- 16. Pass JavaScript-Variable auf Schienen Controller ruby in api weiter
- 17. PHP-Äquivalent eines Ruby-Zuweisungs-Idioms
- 18. Hat Tcl ein Äquivalent von PERL und Ruby Backtic
- 19. Groovy Äquivalent für ruby und keine
- 20. Was ist das Ruby-Äquivalent von Pythons os.walk?
- 21. Bietet Ruby ein Äquivalent von Perls Verwendung strict?
- 22. Was ist das Ruby-Äquivalent von Python's getattr
- 23. Was ist das Ruby-Äquivalent von python setup.py entwickeln?
- 24. Ruby-Hash-Äquivalent von JavaScript Objektinitialisierer Kurzschrift ES6
- 25. Was ist das Ruby-Äquivalent von PHP's compact?
- 26. Gibt es ein Äquivalent von Log4J für Ruby, Log4Ruby?
- 27. Ruby-Äquivalent der PHP-Funktion ucfirst()
- 28. Was ist das Ruby-Äquivalent von Go Defer?
- 29. Was ist das Ruby-Äquivalent von PHP substr()?
- 30. Gibt es dort ein Ruby-Äquivalent von Java's Wicket?
weiterhin nicht "Neustart" die Schleifen, sondern springt in die nächste Iteration der Schleife. –
@mlaw: Ich habe meine Frage entsprechend bearbeitet, um zukünftige Verwirrung zu vermeiden. –
mögliches Duplikat von [In Ruby, wie überspringe ich eine Schleife in einer .each-Schleife, ähnlich wie 'weiter'] (http://stackoverflow.com/questions/4230322/in-ruby-how-do-i-skip -a-loop-in-einer-Schleife-ähnlich-um fortzufahren) – dbr