Ruby - Loops
I loop in Ruby vengono utilizzati per eseguire lo stesso blocco di codice un numero di volte specificato. Questo capitolo descrive in dettaglio tutte le istruzioni loop supportate da Ruby.
Ruby while Statement
Sintassi
while conditional [do]
code
end
Esegue il codice mentre il condizionale è vero. Un po ' di ciclo condizionale è separato dal codice dalla parola riservata fare, un ritorno a capo, backslash \ o un punto e virgola;.
Esempio
#!/usr/bin/ruby
$i = 0
$num = 5
while $i < $num do
puts("Inside the loop i = #$i" )
$i +=1
end
Questo produrrà il seguente risultato:
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
Rubino mentre modificatore
Sintassi
code while condition
OR
begin
code
end while conditional
Esegue il codice mentre il condizionale è vero.
Se un modificatore while segue un'istruzione di inizio senza clausole di salvataggio o di sicurezza, il codice viene eseguito una volta prima della valutazione del condizionale.
Esempio
#!/usr/bin/ruby
$i = 0
$num = 5
begin
puts("Inside the loop i = #$i" )
$i +=1
end while $i < $num
Questo produrrà il seguente risultato:
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 fino a Statement
until conditional [do]
code
end
Esegue il codice mentre condizionale è false. Un fino condizionale della dichiarazione è separato dal codice dalla parola riservata fare , un ritorno a capo, o un punto e virgola.
Esempio
#!/usr/bin/ruby
$i = 0
$num = 5
until $i > $num do
puts("Inside the loop i = #$i" )
$i +=1;
end
Questo produrrà il seguente risultato:
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
Rubino fino al modificatore
Sintassi
code until conditional
OR
begin
code
end until conditional
Esegue il codice mentre condizionale è false.
Se un modificatore until segue un'istruzione di inizio senza clausole di salvataggio o di sicurezza, il codice viene eseguito una volta prima della valutazione del condizionale .
Esempio
#!/usr/bin/ruby
$i = 0
$num = 5
begin
puts("Inside the loop i = #$i" )
$i +=1;
end until $i > $num
Questo produrrà il seguente risultato:
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
Sintassi
for variable [, variable ...] in expression [do]
code
end
Esegue il codice una volta per ogni elemento in expression .
Esempio
#!/usr/bin/ruby
for i in 0..5
puts "Value of local variable is #{i}"
end
Qui abbiamo definito l'intervallo 0..5. L'istruzione per i in 0..5 consentirà a i di assumere valori nell'intervallo da 0 a 5 (incluso 5). Questo produrrà il seguente risultato:
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
Un ciclo for ... in è quasi esattamente equivalente al seguente:
(expression).each do |variable[, variable...]| code end
tranne che un ciclo for non crea un nuovo ambito per le variabili locali. Una per loop espressione è separato dal codice dalla parola riservata fare, un ritorno a capo, o un punto e virgola.
Esempio
#!/usr/bin/ruby
(0..5).each do |i|
puts "Value of local variable is #{i}"
end
Questo produrrà il seguente risultato:
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
Dichiarazione Ruby break
Sintassi
break
Termina il ciclo più interno. Termina un metodo con un blocco associato se chiamato all'interno del blocco (con il metodo che restituisce nil).
Esempio
#!/usr/bin/ruby
for i in 0..5
if i > 2 then
break
end
puts "Value of local variable is #{i}"
end
Questo produrrà il seguente risultato:
Value of local variable is 0
Value of local variable is 1
Value of local variable is 2
Dichiarazione successiva di Ruby
Sintassi
next
Salta all'iterazione successiva del ciclo più interno. Termina l'esecuzione di un blocco se chiamato all'interno di un blocco (con yield o call che restituisce zero).
Esempio
#!/usr/bin/ruby
for i in 0..5
if i < 2 then
next
end
puts "Value of local variable is #{i}"
end
Questo produrrà il seguente risultato:
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
Sintassi
redo
Riavvia questa iterazione del ciclo più interno, senza controllare le condizioni del ciclo. Riavvia il rendimento o la chiamata se chiamato all'interno di un blocco.
Esempio
#!/usr/bin/ruby
for i in 0..5
if i < 2 then
puts "Value of local variable is #{i}"
redo
end
end
Questo produrrà il seguente risultato e andrà in un ciclo infinito -
Value of local variable is 0
Value of local variable is 0
............................
Istruzione di ripetizione di Ruby
Sintassi
retry
Se riprova appare nella clausola di salvataggio dell'espressione iniziale, ricomincia dall'inizio del corpo iniziale.
begin
do_something # exception raised
rescue
# handles error
retry # restart from beginning
end
Se retry appare nell'iteratore, il blocco o il corpo dell'espressione for , riavvia il richiamo della chiamata dell'iteratore. Gli argomenti dell'iteratore vengono rivalutati.
for i in 1..5
retry if some_condition # restart from i == 1
end
Esempio
#!/usr/bin/ruby
for i in 0..5
retry if i > 2
puts "Value of local variable is #{i}"
end
Questo produrrà il seguente risultato e andrà in un ciclo infinito -
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
............................