Ruby-Zyklus
Rubin in der Schleife für den gleichen Code-Block mehrmals durchgeführt wird. Dieser Abschnitt wird detailliert alle Schleifen Ruby-Unterstützung.
Ruby- while - Anweisung
Grammatik
while conditional [do] code end
oder
<pre> while conditional [:] code end
Wenn dieBedingungwahr ist, führt erCode.
Oder Syntax: Sie können weggelassen werden. Aber um eine Formel, während in der Zeile schreiben, oder Sie tun müssen: Neben bedingter Ausdruck oder Programmblöcke.
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 while $i < $num do puts("在循环语句中 i = #$i" ) $i +=1 end
Das obige Beispiel Ausgabe lautet:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Rubin, während Modifikator
Grammatik
code while condition 或者 begin code end while conditional
Wenn dieBedingungwahr ist, führt erCode.
Wennwährendin einem Modifikator ohneRettungoder späterbeginnenAnweisungKlauselzugewährleisten,wird Code einmal vor dembedingtenUrteil ausgeführt werden.
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1 end while $i < $num
Das obige Beispiel Ausgabe lautet:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Ruby- bis - Anweisungen
until conditional [do] code end
Wenn diebedingtefalsch ist, Ausführen vonCode.
Syntax do kann entfallen. Aber bis die Formel schreiben, müssen Sie die Bedingungsausdruck oder Programmblöcke auseinander in der Reihe zu tun.
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 until $i > $num do puts("在循环语句中 i = #$i" ) $i +=1; end
Das obige Beispiel Ausgabe lautet:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Rubinbis Modifikatoren
Grammatik
code until conditional 或者 begin code end until conditional
Wenn diebedingtefalsch ist, Ausführen vonCode.
Wennbisjetzt in einer Erklärung Modifikator , dass keineRettungoder späterbeginnenKlausel zugewährleisten,wird Code einmal vor dembedingtenUrteil ausgeführt werden.
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1; end until $i > $num
Das obige Beispiel Ausgabe lautet:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Ruby- for - Anweisung
Grammatik
for variable [, variable ...] in expression [do] code end
Erste Berechnungsausdruck ein Objekt, dann denAusdruckfür jedes Element separat einenCodezuerhalten.
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 puts "局部变量的值为 #{i}" end
Hier haben wir den Bereich 0..5 definiert. Statement für i in 0..5 den Wert von i von 0 bis 5 (mit 5) ermöglichen.
Das obige Beispiel Ausgabe lautet:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
für ... inSchleife fast genau entspricht:
(expression).each do |variable[, variable...]| code end
Allerdings ist für die Schleife nicht einen neuen Bereich für lokale Variablen erstellen.
Syntax do kann entfallen. Aber für die Formel in einer Reihe zu schreiben, müssen Sie tun, außer bedingten Ausdruck oder Programmblöcke.
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- (0..5).each do |i| puts "局部变量的值为 #{i}" end
Das obige Beispiel Ausgabe lautet:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
Ruby- break - Anweisung
Grammatik
break
Die Beendigung der innersten Schleife. Wenn Sie innerhalb des Blocks aufgerufen haben, wird der Block auf die Beendigung (die Methode gibt nil zurück) bezogen.
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i > 2 then break end puts "局部变量的值为 #{i}" end
Das obige Beispiel Ausgabe lautet:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2
Rubinnächste Anweisung
Grammatik
next
Wechseln zu der nächsten Iteration der Schleife. Wenn Sie in den Bausteinaufruf beendet den Ausführungsblock(AusbeuteAusdruck nil).
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i < 2 then next end puts "局部变量的值为 #{i}" end
Das obige Beispiel Ausgabe lautet:
局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
Ruby- Redo - Anweisung
Grammatik
redo
Ein Neustart des innersten Schleife Iteration wird die Schleifenbedingung nicht überprüft. Wenn Sie in den Block aufrufen, dann starten SieAusbeuteoderAnruf.
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i < 2 then puts "局部变量的值为 #{i}" redo end end
Daraus ergeben sich die folgenden Ergebnisse, und wird eine Endlosschleife eingeben:
局部变量的值为 0 局部变量的值为 0 ............................
Ruby- Retry - Anweisung
Hinweis: 1.9 und spätere Versionen unterstützen nicht die Verwendung Wiederholung in einer Schleife.
Grammatik
retry
WennWiederholungim Ausdruck beginnen rescue - Klausel erscheint, von Anfang des Körpers beginnen Start wieder zu.
begin do_something # 抛出的异常 rescue # 处理错误 retry # 重新从 begin 开始 end
Wenn Neuversuch in der Iteration auftritt, oder zur Expression innerhalb des Körpers, erneut iteriert Anrufe innerhalb des Blocks. Iteration Parameter neu bewertet.
for i in 1..5 retry if some_condition # 重新从 i == 1 开始 end
Beispiele
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 1..5 retry if i > 2 puts "局部变量的值为 #{i}" end
Daraus ergeben sich die folgenden Ergebnisse, und wird eine Endlosschleife eingeben:
局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 ............................