🔗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

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

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

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

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

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