🔗Estructuras de Control
2.1. Condicionales 🔄
Las estructuras condicionales permiten ejecutar diferentes bloques de código basados en condiciones. LUA ofrece las estructuras if
, else
, elseif
y el equivalente de switch
que se puede simular usando tablas.
2.1.1. If-then-else
La estructura básica if-then
evalúa una condición y ejecuta el bloque de código si la condición es true
.
local x = 10
if x > 5 then
print("x es mayor que 5")
elseif x == 5 then
print("x es igual a 5")
else
print("x es menor que 5")
end
2.1.2. Simulación de switch-case usando tablas
LUA no tiene una estructura switch-case
nativa, pero se puede simular utilizando tablas.
local opcion = 2
local casos = {
[1] = function() print("Opción 1 seleccionada") end,
[2] = function() print("Opción 2 seleccionada") end,
[3] = function() print("Opción 3 seleccionada") end
}
if casos[opcion] then
casos[opcion]()
else
print("Opción no válida")
end
2.2. Bucles 🔄
Los bucles permiten repetir la ejecución de un bloque de código mientras se cumpla una condición.
2.2.1. Bucle for
for
El bucle for
se utiliza para iterar un número conocido de veces.
for i = 1, 5 do
print("Iteración: " .. i)
end
2.2.2. Bucle while
while
El bucle while
repite el bloque de código mientras la condición sea true
.
local i = 1
while i <= 5 do
print("Iteración: " .. i)
i = i + 1
end
2.2.3. Bucle repeat-until
repeat-until
El bucle repeat-until
es similar al while
, pero garantiza que el bloque de código se ejecute al menos una vez.
local i = 1
repeat
print("Iteración: " .. i)
i = i + 1
until i > 5
2.3. Control de flujo 🚦
El control de flujo permite modificar la ejecución normal del código dentro de estructuras de control.
2.3.1. break
break
El break
se utiliza para salir de un bucle antes de que termine su ejecución normal.
for i = 1, 10 do
if i == 5 then
break -- Salimos del bucle cuando i es 5
end
print("Iteración: " .. i)
end
2.3.2. return
return
El return
se utiliza para salir de una función y devolver un valor.
local function sumar(a, b)
return a + b
end
local resultado = sumar(3, 4)
print("Resultado: " .. resultado) -- Salida: Resultado: 7
Última actualización