Latest web development tutorials

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 ...] 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 0..5
   puts "局部变量的值为 #{i}"
end

Qui, abbiamo definito la gamma 0..5. Statement for i in 0..5 consentire il valore di i da 0 a 5 (con 5).

L'output sopra esempio è:

局部变量的值为 0
局部变量的值为 1
局部变量的值为 2
局部变量的值为 3
局部变量的值为 4
局部变量的值为 5

per ... inloop è quasi esattamente equivalente a:

(expression).each do |variable[, variable...]| 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 -*-

(0..5).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 0..5
   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 0..5
   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 0..5
   if i < 2 then
      puts "局部变量的值为 #{i}"
      redo
   end
end

Questo produce i seguenti risultati, ed entrerà un ciclo infinito:

局部变量的值为 0
局部变量的值为 0
............................

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 1..5
   retry if some_condition # 重新从 i == 1 开始
end

Esempi

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 1..5
   retry if  i > 2
   puts "局部变量的值为 #{i}"
end

Questo produce i seguenti risultati, ed entrerà un ciclo infinito:

局部变量的值为 1
局部变量的值为 2
局部变量的值为 1
局部变量的值为 2
局部变量的值为 1
局部变量的值为 2
............................