Ruby - Loops
Schleifen in Ruby werden verwendet, um denselben Codeblock eine bestimmte Anzahl von Malen auszuführen. In diesem Kapitel werden alle von Ruby unterstützten Schleifenanweisungen beschrieben.
Ruby while-Anweisung
Syntax
while conditional [do]
code
end
Führt Code aus, solange die Bedingung wahr ist. Die Bedingung einer while- Schleife wird durch das reservierte Wort do, einen Zeilenumbruch, einen umgekehrten Schrägstrich oder ein Semikolon vom Code getrennt .
Beispiel
#!/usr/bin/ruby
$i = 0
$num = 5
while $i < $num do
puts("Inside the loop i = #$i" )
$i +=1
end
Dies führt zu folgendem Ergebnis:
Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Ruby während Modifikator
Syntax
code while condition
OR
begin
code
end while conditional
Führt Code aus, solange die Bedingung wahr ist.
Wenn ein while- Modifikator auf eine begin- Anweisung ohne Rettungs- oder Sicherstellungsklauseln folgt , wird der Code einmal ausgeführt, bevor die Bedingung ausgewertet wird.
Beispiel
#!/usr/bin/ruby
$i = 0
$num = 5
begin
puts("Inside the loop i = #$i" )
$i +=1
end while $i < $num
Dies führt zu folgendem Ergebnis:
Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Ruby bis Anweisung
until conditional [do]
code
end
Führt Code aus, während die Bedingung falsch ist. AN bis bedingte Aussage wird von getrennt Code durch das reservierte Wort zu tun , eine neue Zeile oder ein Semikolon.
Beispiel
#!/usr/bin/ruby
$i = 0
$num = 5
until $i > $num do
puts("Inside the loop i = #$i" )
$i +=1;
end
Dies führt zu folgendem Ergebnis:
Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Inside the loop i = 5
Ruby bis Modifikator
Syntax
code until conditional
OR
begin
code
end until conditional
Führt Code aus, während die Bedingung falsch ist.
Wenn ein bis- Modifikator einer begin- Anweisung ohne Rettungs- oder Sicherstellungsklauseln folgt , wird der Code einmal ausgeführt, bevor die Bedingung ausgewertet wird.
Beispiel
#!/usr/bin/ruby
$i = 0
$num = 5
begin
puts("Inside the loop i = #$i" )
$i +=1;
end until $i > $num
Dies führt zu folgendem Ergebnis:
Inside the loop i = 0
Inside the loop i = 1
Inside the loop i = 2
Inside the loop i = 3
Inside the loop i = 4
Inside the loop i = 5
Ruby for Statement
Syntax
for variable [, variable ...] in expression [do]
code
end
Führt Code für jedes Element im Ausdruck einmal aus .
Beispiel
#!/usr/bin/ruby
for i in 0..5
puts "Value of local variable is #{i}"
end
Hier haben wir den Bereich 0..5 definiert. Die Anweisung für i in 0..5 ermöglicht es i , Werte im Bereich von 0 bis 5 (einschließlich 5) anzunehmen . Dies führt zu folgendem Ergebnis:
Value of local variable is 0
Value of local variable is 1
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
Eine for ... in Schleife entspricht fast genau der folgenden -
(expression).each do |variable[, variable...]| code end
mit der Ausnahme, dass eine for- Schleife keinen neuen Bereich für lokale Variablen erstellt. Der Ausdruck einer for- Schleife wird durch das reservierte Wort do, eine neue Zeile oder ein Semikolon vom Code getrennt .
Beispiel
#!/usr/bin/ruby
(0..5).each do |i|
puts "Value of local variable is #{i}"
end
Dies führt zu folgendem Ergebnis:
Value of local variable is 0
Value of local variable is 1
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
Ruby break Statement
Syntax
break
Beendet die interneste Schleife. Beendet eine Methode mit einem zugeordneten Block, wenn sie innerhalb des Blocks aufgerufen wird (wobei die Methode nil zurückgibt).
Beispiel
#!/usr/bin/ruby
for i in 0..5
if i > 2 then
break
end
puts "Value of local variable is #{i}"
end
Dies führt zu folgendem Ergebnis:
Value of local variable is 0
Value of local variable is 1
Value of local variable is 2
Ruby nächste Aussage
Syntax
next
Springt zur nächsten Iteration der internesten Schleife. Beendet die Ausführung eines Blocks, wenn er innerhalb eines Blocks aufgerufen wird (wobei Yield oder Call Null zurückgeben).
Beispiel
#!/usr/bin/ruby
for i in 0..5
if i < 2 then
next
end
puts "Value of local variable is #{i}"
end
Dies führt zu folgendem Ergebnis:
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
Ruby Redo Statement
Syntax
redo
Startet diese Iteration der internesten Schleife neu, ohne den Schleifenzustand zu überprüfen. Startet Yield oder Call neu, wenn es innerhalb eines Blocks aufgerufen wird.
Beispiel
#!/usr/bin/ruby
for i in 0..5
if i < 2 then
puts "Value of local variable is #{i}"
redo
end
end
Dies führt zu folgendem Ergebnis und geht in eine Endlosschleife -
Value of local variable is 0
Value of local variable is 0
............................
Ruby-Wiederholungsanweisung
Syntax
retry
Wenn in der Rettungsklausel des begin-Ausdrucks ein erneuter Versuch angezeigt wird, starten Sie am Anfang des begin-Körpers neu.
begin
do_something # exception raised
rescue
# handles error
retry # restart from beginning
end
Wenn im Iterator ein erneuter Versuch angezeigt wird , startet der Block oder der Hauptteil des for- Ausdrucks den Aufruf des Iteratoraufrufs neu. Argumente für den Iterator werden neu bewertet.
for i in 1..5
retry if some_condition # restart from i == 1
end
Beispiel
#!/usr/bin/ruby
for i in 0..5
retry if i > 2
puts "Value of local variable is #{i}"
end
Dies führt zu folgendem Ergebnis und geht in eine Endlosschleife -
Value of local variable is 1
Value of local variable is 2
Value of local variable is 1
Value of local variable is 2
Value of local variable is 1
Value of local variable is 2
............................