Il miglior tutorial ciclo di ruby Nel 2024, in questo tutorial puoi imparare Rubinowhile,Rubinomentre modificatore,Rubinofino dichiarazioni,Rubinofino modificatori,Rubydichiarazione,istruzione breakRubino,Rubinoistruzione successiva,dichiarazione redoRubino,dichiarazione di tentatividi Ruby,
Rubino nel loop per eseguire lo stesso blocco di volte codici diversi. Questa sezione dettaglio tutti i loop supporto Ruby.
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.
#!/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
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.
#!/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
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.
#!/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
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.
#!/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
for variable [, variable it.] in expression [do] code end
Prima espressione di calcolo per ottenere un oggetto, quindil'espressioneper ciascun elemento separatamente uncodice.
#!/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.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- (0it5).each do |i| puts "局部变量的值为 #{i}" end
L'output sopra esempio è:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
break
Cessazione del ciclo più interno. Se è stato richiamato all'interno del blocco, il blocco è legato alla terminazione (il metodo restituisce zero).
#!/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
next
Saltate sulla prossima iterazione del ciclo. Se si chiama nel blocco termina il blocco di esecuzione(resaespressione restituisce nil).
#!/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
redo
Il riavvio del iterazione del ciclo più interno, la condizione del ciclo non è selezionata. Se si chiama nel blocco, quindi riavviarerendimentoochiamata.
#!/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
NOTA: 1.9 e versioni successive non supportano il nuovo tentativo utilizzo in un ciclo.
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
#!/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