Ruby Bucles
Los bucles en Ruby se utilizan para ejecutar el mismo bloque de código varias veces. Este capítulo detallará todas las sentencias de bucle que admite Ruby.
Ruby whileSentencia
Sintaxis
o
Sintaxis
Cuandoconditionalejecutar mientras sea verdaderocode。
En la sintaxis, se pueden omitir do o :. Pero para escribir una expresión while en una sola línea, debes separar la condición o el bloque de código con do o :.
Ejemplo
Pruébalo »
El resultado del ejemplo anterior es:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Ruby whileModificador
Sintaxis
Cuandoconditionalejecutar mientras sea verdaderocode。
Siwhileel modificador sigue a una sentencia sinrescueo cláusula ensurebegindespués de la sentenciacodeseconditionalejecutará una vez antes de la comprobación.
Ejemplo
Pruébalo »
El resultado del ejemplo anterior es:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4
Ruby untilSentencia
Sintaxis
Cuandoconditionalejecutar mientras sea falsocode。
En la sintaxis, se puede omitir do. Pero para escribir una expresión until en una sola línea, debes separar la condición o el bloque de código con do.
Ejemplo
Pruébalo »
El resultado del ejemplo anterior es:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Ruby untilModificador
Sintaxis
Cuandoconditionalejecutar cuando sea falsecode。
Siuntilel modificador sigue a una sentencia sinrescueo cláusula ensurebegindespués de la sentenciacodeseconditionalejecutará una vez antes de la comprobación.
Ejemplo
Pruébalo »
El resultado del ejemplo anterior es:
在循环语句中 i = 0 在循环语句中 i = 1 在循环语句中 i = 2 在循环语句中 i = 3 在循环语句中 i = 4 在循环语句中 i = 5
Ruby forSentencia
Sintaxis
Primero se evalúa la expresión para obtener un objeto y, a continuación, paraexpressioncada elemento del mismo se ejecuta una vez.code。
Ejemplo
Pruébalo »
Aquí, hemos definido el rango 0..5. La sentencia for i in 0..5 permite que el valor de i vaya de 0 a 5 (incluido 5).
El resultado del ejemplo anterior es:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
for...inEl bucle es casi completamente equivalente a:
Sin embargo, el bucle for no crea un nuevo ámbito para las variables locales.
En la sintaxis, se puede omitir do. Pero para escribir una expresión for en una sola línea, debes separar la condición o el bloque de código con do.
Ejemplo
Pruébalo »
El resultado del ejemplo anterior es:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
Ruby breakSentencia
Sintaxis
Termina el bucle más interno. Si se llama dentro de un bloque, termina el método relacionado con el bloque (el método devuelve nil).
Ejemplo
Pruébalo »
El resultado del ejemplo anterior es:
局部变量的值为 0 局部变量的值为 1 局部变量的值为 2
Ruby nextSentencia
Sintaxis
Salta a la siguiente iteración del bucle. Si se llama dentro de un bloque, termina la ejecución del bloque (layieldexpresión devuelve nil).
Ejemplo
Pruébalo »
El resultado del ejemplo anterior es:
局部变量的值为 2 局部变量的值为 3 局部变量的值为 4 局部变量的值为 5
Ruby redoSentencia
Sintaxis
Reinicia la iteración actual del bucle más interno sin comprobar la condición del bucle. Si se llama dentro de un bloque, reiniciayieldocall。
Ejemplo
Esto producirá el siguiente resultado y entrará en un bucle infinito:
局部变量的值为 0 局部变量的值为 0 ............................
Ruby retrySentencia
Nota: las versiones 1.9 y posteriores no admiten el uso de retry en bucles.
Sintaxis
Siretryaparece en una cláusula rescue de una expresión begin, se reinicia desde el principio del cuerpo de begin.
Si retry aparece dentro de una iteración, dentro de un bloque o en el cuerpo de una expresión for, se reinicia la llamada de iteración. Los argumentos de la iteración se reevalúan.
Ejemplo
Esto producirá el siguiente resultado y entrará en un bucle infinito:
局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 局部变量的值为 1 局部变量的值为 2 ............................Otras extensiones