Lua - Bucles
Puede haber una situación en la que necesite ejecutar un bloque de código varias veces. En general, las sentencias se ejecutan secuencialmente: la primera sentencia de una función se ejecuta primero, seguida de la segunda, y así sucesivamente.
Los lenguajes de programación proporcionan varias estructuras de control que permiten rutas de ejecución más complicadas.
Una declaración de bucle nos permite ejecutar una declaración o grupo de declaraciones varias veces. A continuación se muestra la forma general de una declaración de bucle en la mayoría de los lenguajes de programación:
Lua proporciona los siguientes tipos de bucles para manejar los requisitos de bucle.
No Señor. | Tipo de bucle y descripción |
---|---|
1 | while loop Repite una declaración o un grupo de declaraciones mientras una condición determinada es verdadera. Prueba la condición antes de ejecutar el cuerpo del bucle. |
2 | en bucle Ejecuta una secuencia de declaraciones varias veces y abrevia el código que administra la variable de bucle. |
3 | repetir ... hasta bucle Repite la operación del grupo de declaraciones hasta que se cumpla la condición hasta que se cumpla. |
4 | bucles anidados Puede usar uno o más bucles dentro de cualquier otro bucle while, for o do.. while. |
Declaración de control de bucle
La instrucción de control de bucle cambia la ejecución de su secuencia normal. Cuando la ejecución abandona un ámbito, todos los objetos automáticos que se crearon en ese ámbito se destruyen.
Lua admite las siguientes declaraciones de control.
No Señor. | Declaración de control y descripción |
---|---|
1 | declaración de ruptura Termina el loop y transfiere la ejecución a la instrucción que sigue inmediatamente al bucle o cambio. |
El bucle infinito
Un bucle se convierte en bucle infinito si una condición nunca se vuelve falsa. loswhileloop se utiliza a menudo para este propósito. Dado que directamente damos verdadero a la condición, se sigue ejecutando para siempre. Podemos usar la sentencia break para romper este ciclo.
while( true )
do
print("This loop will run forever.")
end