⚒️Funciones
3.1. Declaración y uso de funciones 🔧
Las funciones en LUA son bloques de código reutilizables que se pueden definir y llamar en cualquier parte de tu programa.
3.1.1. Función básica
Se puede definir una función usando la palabra clave function
, seguida del nombre de la función y sus parámetros opcionales.
function saludar()
print("¡Hola, mundo!")
end
saludar() -- Llamada a la función, Salida: ¡Hola, mundo!
3.1.2. Función con parámetros
Las funciones pueden aceptar parámetros para procesar datos.
function saludar(nombre)
print("¡Hola, " .. nombre .. "!")
end
saludar("Laura") -- Salida: ¡Hola, Laura!
3.1.3. Función con valores de retorno
Las funciones pueden devolver valores utilizando la palabra clave return
.
function sumar(a, b)
return a + b
end
local resultado = sumar(3, 4)
print("Resultado: " .. resultado) -- Salida: Resultado: 7
3.2. Funciones anónimas (Lambdas) 🕶️
En LUA, las funciones pueden ser anónimas, es decir, no tienen un nombre asignado.
local miFuncion = function(a, b)
return a * b
end
local resultado = miFuncion(3, 4)
print("Resultado: " .. resultado) -- Salida: Resultado: 12
Las funciones anónimas son útiles para pasarlas como argumentos a otras funciones.
function operar(a, b, operacion)
return operacion(a, b)
end
local suma = operar(5, 6, function(x, y) return x + y end)
print("Suma: " .. suma) -- Salida: Suma: 11
3.3. Ámbito y alcance de las variables (scope) 🌍
Las variables en LUA pueden tener un alcance local o global dependiendo de cómo se declaren.
3.3.1. Variables locales
Las variables locales solo están disponibles dentro del bloque donde se declaran.
function ejemplo()
local x = 10 -- Variable local
print(x) -- Salida: 10
end
ejemplo()
print(x) -- Error: x no está disponible fuera de la función
3.3.2. Variables globales
Si una variable se declara sin la palabra clave local
, es global y accesible desde cualquier parte del programa.
y = 20 -- Variable global
function ejemplo()
print(y) -- Salida: 20
end
ejemplo()
print(y) -- Salida: 20
3.4. Funciones de orden superior 🚀
Las funciones de orden superior son funciones que pueden aceptar otras funciones como argumentos o devolver funciones.
3.4.1. Pasar funciones como parámetros
function ejecutar(func)
func()
end
ejecutar(function() print("Función anónima ejecutada") end)
3.4.2. Devolver funciones
Una función puede devolver otra función.
function multiplicador(n)
return function(x)
return x * n
end
end
local porDos = multiplicador(2)
print(porDos(5)) -- Salida: 10
Última actualización