Ruby Schleifen
Schleifen in Ruby werden verwendet, um denselben Codeblock mehrmals auszuführen. In diesem Kapitel werden alle von Ruby unterstützten Schleifenanweisungen ausführlich beschrieben.
Ruby whileAnweisung
Syntax
oder
Syntax
WennBedingungWenn wahr, ausführenCode。
In der Syntax können do oder : weggelassen werden. Wenn Sie jedoch einen while-Ausdruck in einer Zeile schreiben möchten, müssen Sie do oder : verwenden, um die Bedingung vom Codeblock zu trennen.
Beispiel
Ausprobieren »
Die Ausgabe des obigen Beispiels ist:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Ruby whileModifizierer
Syntax
WennBedingungWenn wahr, ausführenCode。
WennwhileEin Modifizierer folgt einem ... ohnerescueoder eine ensure-Klauselbeginnach einer Anweisung,Codewirdbedingteinmal ausgeführt, bevor die Bedingung ausgewertet wird.
Beispiel
Ausprobieren »
Die Ausgabe des obigen Beispiels ist:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Ruby untilAnweisung
Syntax
WennBedingungWenn falsch, führe aus:Code。
In der Syntax kann do weggelassen werden. Wenn Sie jedoch einen until-Ausdruck in einer Zeile schreiben möchten, müssen Sie do verwenden, um die Bedingung vom Codeblock zu trennen.
Beispiel
Ausprobieren »
Die Ausgabe des obigen Beispiels ist:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Ruby untilModifikator
Syntax
WennBedingungWenn falsch, führe aus:Code。
WennuntilEin Modifikator folgt einem ... ohnerescueoder einer ensure-Klauselbeginnach einer Anweisung,Codewirdbedingteinmal ausgeführt, bevor die Bedingung ausgewertet wird.
Beispiel
Ausprobieren »
Die Ausgabe des obigen Beispiels ist:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Ruby forAnweisung
Syntax
Zuerst wird der Ausdruck ausgewertet, um ein Objekt zu erhalten, dann fürAusdruckjedes darin enthaltene Element einmal ausführenCode。
Beispiel
Ausprobieren »
Hier haben wir den Bereich 0..5 definiert. Die Anweisung for i in 0..5 lässt den Wert von i von 0 bis 5 reichen (einschließlich 5).
Die Ausgabe des obigen Beispiels ist:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
for...inDie Schleife ist nahezu genau äquivalent zu:
Die for-Schleife erstellt jedoch keinen neuen Gültigkeitsbereich für lokale Variablen.
In der Syntax kann do weggelassen werden. Wenn Sie jedoch einen for-Ausdruck in einer Zeile schreiben möchten, müssen Sie do verwenden, um die Bedingung vom Codeblock zu trennen.
Beispiel
Ausprobieren »
Die Ausgabe des obigen Beispiels ist:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
Ruby breakAnweisung
Syntax
Beendet die innerste Schleife. Wenn sie innerhalb eines Blocks aufgerufen wird, beendet sie die mit dem Block verknüpfte Methode (die Methode gibt nil zurück).
Beispiel
Ausprobieren »
Die Ausgabe des obigen Beispiels ist:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2
Ruby nextAnweisung
Syntax
Springt zur nächsten Iteration der Schleife. Wenn sie innerhalb eines Blocks aufgerufen wird, beendet sie die Ausführung des Blocks (yieldder Ausdruck gibt nil zurück).
Beispiel
Ausprobieren »
Die Ausgabe des obigen Beispiels ist:
局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
Ruby redoAnweisung
Syntax
Startet die aktuelle Iteration der innersten Schleife neu, ohne die Schleifenbedingung zu prüfen. Wenn sie innerhalb eines Blocks aufgerufen wird, startet sieyieldodercall neu。
Beispiel
Dies erzeugt das folgende Ergebnis und geht in eine Endlosschleife über:
局部变量的值为 0 局部变量的值为 0 ............................
Ruby retryAnweisung
Hinweis: Versionen 1.9 und höher unterstützen die Verwendung von retry in Schleifen nicht.
Syntax
Wennretryin der rescue-Klausel eines begin-Ausdrucks erscheint, dann startet es vom Anfang des begin-Rumpfs neu.
Wenn retry innerhalb einer Iteration, eines Blocks oder des Rumpfs eines for-Ausdrucks erscheint, startet es den Iterationsaufruf neu. Die Argumente der Iteration werden neu ausgewertet.
Beispiel
Dies erzeugt das folgende Ergebnis und geht in eine Endlosschleife über:
局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 ............................Andere Erweiterungen