ciclo di ruby
Rubino nel loop per eseguire lo stesso blocco di volte codici diversi. Questa sezione dettaglio tutti i loop supporto Ruby.
Rubinowhile
grammatica
while conditional [do] code end
o
<pre> while conditional [:] code end
Quando ilcondizionaleè vero, esegue ilcodice.
O fare sintassi: si può essere omesso. Ma per scrivere una formula, mentre in linea, o si deve fare: espressione o di programma a parte condizionale blocchi.
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 while $i < $num do puts("在循环语句中 i = #$i" ) $i +=1 end
L'output sopra esempio è:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Rubinomentre modificatore
grammatica
code while condition 或者 begin code end while conditional
Quando ilcondizionaleè vero, esegue ilcodice.
Sementrein un modificatore senzasalvataggioo poiiniziaredichiarazione assicurarela clausola,il codice verrà eseguita una volta prima della sentenzacondizionale.
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1 end while $i < $num
L'output sopra esempio è:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Rubinofino dichiarazioni
until conditional [do] code end
Quando ilcondizionaleè falso, eseguirecodice.
Sintassi fare può essere omesso. Ma di scrivere fino a quando la formula, è necessario effettuare l'espressione o programma blocchi condizionali a parte nella riga.
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 until $i > $num do puts("在循环语句中 i = #$i" ) $i +=1; end
L'output sopra esempio è:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Rubinofino modificatori
grammatica
code until conditional 或者 begin code end until conditional
Quando ilcondizionaleè falso, eseguirecodice.
Sefinoad ora modificatore in un comunicato che nessunsalvataggioo poiiniziare agarantirela clausola,il codice verrà eseguita una volta prima della sentenzacondizionale.
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1; end until $i > $num
L'output sopra esempio è:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Rubydichiarazione
grammatica
for variable [, variable it.] in expression [do] code end
Prima espressione di calcolo per ottenere un oggetto, quindil'espressioneper ciascun elemento separatamente uncodice.
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0it5 puts "局部变量的值为 #{i}" end
Qui, abbiamo definito la gamma 0it5. Statement for i in 0it5 consentire il valore di i da 0 a 5 (con 5).
L'output sopra esempio è:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
per it. inloop è quasi esattamente equivalente a:
(expression).each do |variable[, variableit.]| code end
Tuttavia, per il ciclo non crea un nuovo ambito per le variabili locali.
Sintassi fare può essere omesso. Ma a scrivere per la formula di fila, poi si deve fare di espressione o di programma blocchi a parte condizionali.
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- (0it5).each do |i| puts "局部变量的值为 #{i}" end
L'output sopra esempio è:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
istruzione breakRubino
grammatica
break
Cessazione del ciclo più interno. Se è stato richiamato all'interno del blocco, il blocco è legato alla terminazione (il metodo restituisce zero).
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0it5 if i > 2 then break end puts "局部变量的值为 #{i}" end
L'output sopra esempio è:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2
Rubinoistruzione successiva
grammatica
next
Saltate sulla prossima iterazione del ciclo. Se si chiama nel blocco termina il blocco di esecuzione(resaespressione restituisce nil).
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0it5 if i < 2 then next end puts "局部变量的值为 #{i}" end
L'output sopra esempio è:
局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
dichiarazione redoRubino
grammatica
redo
Il riavvio del iterazione del ciclo più interno, la condizione del ciclo non è selezionata. Se si chiama nel blocco, quindi riavviarerendimentoochiamata.
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0it5 if i < 2 then puts "局部变量的值为 #{i}" redo end end
Questo produce i seguenti risultati, ed entrerà un ciclo infinito:
局部变量的值为 0 局部变量的值为 0 itititititititititititititit
dichiarazione di tentatividi Ruby
NOTA: 1.9 e versioni successive non supportano il nuovo tentativo utilizzo in un ciclo.
grammatica
retry
Seretryappare nell'espressione iniziare clausola rescue, dall'inizio del corpo inizierà a ri-start.
begin do_something # 抛出的异常 rescue # 处理错误 retry # 重新从 begin 开始 end
Se tentativi appare nella iterazione, o per l'espressione all'interno del corpo, reitera le chiamate all'interno del blocco. parametri di iterazione rivalutati.
for i in 1it5 retry if some_condition # 重新从 i == 1 开始 end
Esempi
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 1it5 retry if i > 2 puts "局部变量的值为 #{i}" end
Questo produce i seguenti risultati, ed entrerà un ciclo infinito:
局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 itititititititititititititit