Les funcions són una part fonamental de qualsevol llenguatge de programació, i Lua no és una excepció. Les funcions permeten agrupar codi que es pot reutilitzar, millorant així la modularitat i la llegibilitat del codi. En aquesta secció, aprendrem com definir, cridar i utilitzar funcions en Lua.
Continguts
Definició de Funcions
En Lua, les funcions es defineixen utilitzant la paraula clau function seguida del nom de la funció, una llista de paràmetres entre parèntesis i el cos de la funció entre end.
function nom_de_la_funció(paràmetre1, paràmetre2)
-- Cos de la funció
print(paràmetre1, paràmetre2)
endExemple
Paràmetres i Arguments
Les funcions poden acceptar paràmetres, que són valors que es passen a la funció quan es crida. Aquests paràmetres es poden utilitzar dins de la funció com a variables locals.
Exemple
function suma(a, b)
return a + b
end
resultat = suma(5, 3) -- resultat és 8
print(resultat) -- Sortida: 8Valors de Retorn
Les funcions poden retornar valors utilitzant la paraula clau return. Això permet que la funció proporcioni un resultat que es pot utilitzar més endavant en el codi.
Exemple
function multiplica(a, b)
return a * b
end
resultat = multiplica(4, 7) -- resultat és 28
print(resultat) -- Sortida: 28Funcions Anònimes
Les funcions anònimes són funcions que no tenen un nom i es poden definir en qualsevol lloc on es pugui definir una expressió. Són especialment útils per a funcions de callback o funcions que es passen com a arguments a altres funcions.
Exemple
-- Funció anònima assignada a una variable
doble = function(x)
return x * 2
end
print(doble(5)) -- Sortida: 10
-- Funció anònima com a argument
function aplica_funció(f, valor)
return f(valor)
end
print(aplica_funció(function(x) return x + 3 end, 7)) -- Sortida: 10Àmbit de les Variables
Les variables definides dins d'una funció són locals a aquesta funció i no es poden accedir des de fora. Això ajuda a evitar conflictes de noms i fa que el codi sigui més modular.
Exemple
function exemple()
local x = 10 -- x és local a la funció exemple
print(x)
end
exemple() -- Sortida: 10
-- print(x) -- Això donarà un error perquè x no està definida fora de la funcióExercicis Pràctics
Exercici 1: Funció de Salutació
Crea una funció anomenada salutacio que accepti un nom com a paràmetre i imprimeixi una salutació personalitzada.
Solució
Exercici 2: Funció de Factorial
Escriu una funció anomenada factorial que calculi el factorial d'un nombre donat.
Solució
function factorial(n)
if n == 0 then
return 1
else
return n * factorial(n - 1)
end
end
print(factorial(5)) -- Sortida: 120Exercici 3: Funció de Comprovació de Nombre Parell
Crea una funció anomenada és_parell que accepti un nombre i retorni true si el nombre és parell i false en cas contrari.
function és_parell(n)
-- El teu codi aquí
end
print(és_parell(4)) -- Sortida esperada: true
print(és_parell(7)) -- Sortida esperada: falseSolució
function és_parell(n)
return n % 2 == 0
end
print(és_parell(4)) -- Sortida: true
print(és_parell(7)) -- Sortida: falseResum
En aquesta secció, hem après com definir i utilitzar funcions en Lua. Hem vist com passar paràmetres a les funcions, com retornar valors, i com utilitzar funcions anònimes. També hem explorat l'àmbit de les variables dins de les funcions. Finalment, hem practicat aquests conceptes amb alguns exercicis pràctics. Ara estàs preparat per utilitzar funcions per organitzar i modularitzar el teu codi Lua de manera efectiva.
Curs de Programació en Lua
Mòdul 1: Introducció a Lua
Mòdul 2: Conceptes Bàsics
Mòdul 3: Conceptes Intermedis
Mòdul 4: Conceptes Avançats
- Coroutines
- Programació Orientada a Objectes en Lua
- Tècniques de Depuració
- Optimització del Rendiment
- Ús de l'API C de Lua
Mòdul 5: Aplicacions Pràctiques
- Construcció d'un Joc Simple
- Scripting en Motors de Joc
- Automatització de Tasques amb Lua
- Integració de Lua amb Altres Llenguatges
