Lua - bucles anidados

El lenguaje de programación Lua permite utilizar un bucle dentro de otro. La siguiente sección muestra algunos ejemplos para ilustrar el concepto.

Sintaxis

La sintaxis de un nested for loop declaración en Lua es la siguiente:

for init,max/min value, increment
do
   for init,max/min value, increment
   do
      statement(s)
   end
   statement(s)
end

La sintaxis de un nested while loop declaración en el lenguaje de programación Lua es la siguiente:

while(condition)
do
   while(condition)
   do
      statement(s)
   end
   statement(s)
end

La sintaxis de un nested repeat...until loop declaración en el lenguaje de programación Lua es la siguiente:

repeat
   statement(s)
   repeat
      statement(s)
   until( condition )
until( condition )

Una nota final sobre el anidamiento de bucles es que puede colocar cualquier tipo de bucle dentro de cualquier otro tipo de bucle. Por ejemplo, unfor El bucle puede estar dentro de un while bucle o viceversa.

Ejemplo

El siguiente programa utiliza un anidado for bucle -

j = 2
for i = 2,10 do
   for j = 2,(i/j) , 2 do
	
      if(not(i%j)) 
      then
         break 
      end
		
      if(j > (i/j))then
         print("Value of i is",i)
      end
		
   end
end

Cuando compila y ejecuta el código anterior, produce el siguiente resultado.

Value of i is	8
Value of i is	9
Value of i is	10