ciclo de rubí
Rubí en el bucle para realizar el mismo bloque de código de veces varios. En este apartado se detallará todos los lazos de soporte Ruby.
declaraciónde rubí,mientras
gramática
while conditional [do] code end
o
<pre> while conditional [:] code end
Cuando lacondiciónes verdadera, se ejecuta elcódigo.
O hacer sintaxis: puede omitirse. Pero para escribir una fórmula, mientras que en la línea, o que debe hacer: expresión condicional o aparte del programa bloques.
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 while $i < $num do puts("在循环语句中 i = #$i" ) $i +=1 end
La salida del ejemplo anterior es:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Rubímientras modificador
gramática
code while condition 或者 begin code end while conditional
Cuando lacondiciónes verdadera, se ejecuta elcódigo.
Si, mientras queen un modificador sinrescateo tempranoempiezancomunicado asegurarla cláusula, elcódigo se ejecutará una vez antes de la sentenciacondicional.
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1 end while $i < $num
La salida del ejemplo anterior es:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Rubíhasta declaraciones
until conditional [do] code end
Cuando lacondiciónes falsa, ejecutarcódigo.
do sintaxis puede ser omitido. Pero a escribir hasta que la fórmula, debe hacer la expresión o de programa condicionales bloques separados en la fila.
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 until $i > $num do puts("在循环语句中 i = #$i" ) $i +=1; end
La salida del ejemplo anterior es:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Rubíhasta modificadores
gramática
code until conditional 或者 begin code end until conditional
Cuando lacondiciónes falsa, ejecutarcódigo.
Sihastaahora modificador en un comunicado que hayrescateo tempranoempiezangarantizarcláusula, elcódigo se ejecutará una vez antes de la sentenciacondicional.
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $i = 0 $num = 5 begin puts("在循环语句中 i = #$i" ) $i +=1; end until $i > $num
La salida del ejemplo anterior es:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Rubípara la declaración
gramática
for variable [, variable ...] in expression [do] code end
la expresión primer cálculo para obtener un objeto, entonces laexpresiónpara cada elemento por separado uncódigo.
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 puts "局部变量的值为 #{i}" end
Aquí, hemos definido el rango 0..5. Declaración de i en 0..5 permita que el valor de i de 0 a 5 (con 5).
La salida del ejemplo anterior es:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
buclefor ... ines casi exactamente equivalente a:
(expression).each do |variable[, variable...]| code end
Sin embargo, para el lazo no se crea un nuevo ámbito para las variables locales.
do sintaxis puede ser omitido. Pero para escribir la fórmula en una fila, entonces debe hacer aparte de expresión condicional o programa bloquea.
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- (0..5).each do |i| puts "局部变量的值为 #{i}" end
La salida del ejemplo anterior es:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
sentencia breakRubí
gramática
break
La terminación del bucle más interior. Si ha invocado dentro del bloque, el bloque está relacionado con la terminación (el método devuelve nil).
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i > 2 then break end puts "局部变量的值为 #{i}" end
La salida del ejemplo anterior es:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2
Rubípróximo estado de cuenta
gramática
next
Saltar a la siguiente iteración del bucle. Si se llama en el bloque termina el bloque de ejecución(rendimientoexpresión devuelve nil).
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i < 2 then next end puts "局部变量的值为 #{i}" end
La salida del ejemplo anterior es:
局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
declaración de rehacerRubí
gramática
redo
Reinicio de la iteración del bucle más interno, la condición de bucle no está marcada. Si se llama en el bloque, a continuación, reinicieel rendimientoolallamada.
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 0..5 if i < 2 then puts "局部变量的值为 #{i}" redo end end
Esto produce los siguientes resultados, y entrará en un bucle infinito:
局部变量的值为 0 局部变量的值为 0 ............................
declaración de reintentoRubí
NOTA: 1.9 y versiones posteriores no apoyan el uso de reintento en un bucle.
gramática
retry
Si elreintentoaparece en la expresión comenzar cláusula de rescate, desde el comienzo del cuerpo comienzan a volver a empezar.
begin do_something # 抛出的异常 rescue # 处理错误 retry # 重新从 begin 开始 end
Si el reintento aparece en la iteración, o para la expresión dentro del cuerpo, reitera las llamadas dentro del bloque. parámetros de iteración reevaluados.
for i in 1..5 retry if some_condition # 重新从 i == 1 开始 end
Ejemplos
#!/usr/bin/ruby # -*- coding: UTF-8 -*- for i in 1..5 retry if i > 2 puts "局部变量的值为 #{i}" end
Esto produce los siguientes resultados, y entrará en un bucle infinito:
局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 ............................