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) end
Exemple
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: 8
Valors 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: 28
Funcions 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: 120
Exercici 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: false
Solució
function és_parell(n) return n % 2 == 0 end print(és_parell(4)) -- Sortida: true print(és_parell(7)) -- Sortida: false
Resum
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