Lua - Fonctions : Un Guide Pour Débutants

Salut à toi, futur·e programmeur·euse ! Aujourd'hui, nous allons plonger dans le monde merveilleux des fonctions Lua. Ne t'inquiète pas si tu n'as jamais écrit une ligne de code auparavant – je serai ton guide amical pour cette aventure passionnante. À la fin de ce tutoriel, tu seras capable de créer et d'utiliser des fonctions comme un pro !

Lua - Functions

Qu'est-ce que les Fonctions ?

Avant de rentrer dans le vif du sujet, parlons de ce que sont réellement les fonctions. Imagine que tu cuisines des cookies (hum !). Plutôt que d'expliquer toute la recette chaque fois que tu veux faire des cookies, tu pourrais juste dire "Faisons des cookies !" et tout le monde saurait quoi faire. En programmation, les fonctions sont comme ces recettes – ce sont des blocs de code réutilisables qui effectuent des tâches spécifiques.

Définir une Fonction

Commençons par les bases de la création, ou "définition", d'une fonction en Lua.

Syntaxe de Base d'une Fonction

function functionName()
-- Ton code ici
end

Voici la forme la plus simple d'une fonction Lua. Décomposons-la :

  1. On commence avec le mot-clé function.
  2. Ensuite, on donne un nom à notre fonction (dans ce cas, functionName).
  3. On ajoute des parenthèses () après le nom.
  4. On écrit notre code entre do et end.

Voici un exemple réel :

function sayHello()
print("Bonjour, le monde !")
end

Cette fonction, lorsqu'elle est appelée, affichera "Bonjour, le monde !" dans la console. Simple, n'est-ce pas ?

Appeler une Fonction

Maintenant que nous avons défini une fonction, comment l'utilisons-nous ? Nous "appelons" la fonction en utilisant son nom suivi de parenthèses.

sayHello()  -- Cela affichera "Bonjour, le monde !"

Chaque fois que tu écris sayHello(), Lua exécutera le code à l'intérieur de la fonction. C'est comme appuyer sur un bouton qui fait quelque chose !

Arguments de Fonction

Les fonctions deviennent encore plus puissantes lorsque nous pouvons leur donner des informations pour travailler. Nous appelons cette information "arguments" ou "paramètres".

function greet(name)
print("Bonjour, " .. name .. " !")
end

greet("Alice")  -- Cela affichera "Bonjour, Alice !"
greet("Bob")    -- Cela affichera "Bonjour, Bob !"

Dans cet exemple, name est un argument. Nous pouvons passer différents noms à la fonction, et elle saluera chaque personne individuellement. N'est-ce pas génial ?

Plusieurs Arguments

Nous pouvons également utiliser plusieurs arguments dans une fonction :

function addNumbers(a, b)
return a + b
end

result = addNumbers(5, 3)
print(result)  -- Cela affichera 8

Cette fonction prend deux nombres, les ajoute ensemble, et nous donne le résultat en utilisant le mot-clé return.

Assigner et Passer des Fonctions

En Lua, les fonctions sont "citoyens de premier rang". Cela signifie que nous pouvons les traiter comme n'importe quelle autre valeur – nous pouvons les assigner à des variables, les passer comme arguments à d'autres fonctions, et même les renvoyer de fonctions !

-- Assigner une fonction à une variable
local myFunction = function(x)
return x * 2
end

print(myFunction(5))  -- Cela affichera 10

-- Passer une fonction comme argument
function applyTwice(func, value)
return func(func(value))
end

result = applyTwice(myFunction, 3)
print(result)  -- Cela affichera 12 (3 * 2 * 2)

Cela peut sembler un peu déroutant au départ, mais c'est incroyablement puissant une fois que tu as l'habitude !

Fonction avec des Arguments Variables

Parfois, nous ne savons pas à l'avance combien d'arguments une fonction pourrait recevoir. Lua a une fonctionnalité sympa pour cela : la syntaxe ....

function sum(...)
local total = 0
for _, v in ipairs({...}) do
total = total + v
end
return total
end

print(sum(1, 2, 3))      -- Cela affichera 6
print(sum(10, 20, 30, 40))  -- Cela affichera 100

Cette fonction peut prendre n'importe quel nombre d'arguments et les additionner tous. La ... capture tous les arguments passés à la fonction.

Conclusion

Félicitations ! Tu viens de faire tes premiers pas dans le monde des fonctions Lua. Nous avons couvert beaucoup de terrain, des définitions de fonctions de base aux concepts plus avancés comme les arguments variables et le passage de fonctions.

souviens-toi, la clé pour maîtriser les fonctions (et la programmation en général) est la pratique. Essaie de créer tes propres fonctions, expérimente avec différents arguments, et n'aie pas peur de faire des erreurs – c'est ainsi que nous apprenons !

Dans mes années d'enseignement, j'ai découvert que les élèves qui jouent avec le code et essaient de le casser apprennent souvent le plus rapidement. Alors vas-y, prends ces exemples, tourne-les, plie-les, vois ce qui se passe. Et surtout, amuse-toi !

Bonne programmation, futurs maîtres Lua !

Credits: Image by storyset