Les fonctions vous permettent de « packager » des extraits de code que vous utilisez dans vos scripts et de les appeler plus tard. Ils vous permettent également d'effectuer des opérations sur une entrée et de renvoyer une sortie. Enfin, ils vous permettent également de recevoir une entrée et d'effectuer certaines choses en fonction de l'entrée. Les arguments, également appelés paramètres, vous permettent de transmettre des valeurs à une fonction qu'elle peut ensuite utiliser pour produire un résultat différent ou donner une sortie différente.
Les arguments sont très similaires aux variables locales créées lorsque vous appelez la fonction :
fonction NOM(Argument1,Argument2,Argument3,etc)
Le corps de la fonction est l'endroit où se déroule l'action, il contient le code qui sera exécuté lorsque la fonction est appelée. Il peut accéder aux arguments qui lui sont passés sous les noms définis dans la liste des arguments de la fonction.
Tout code que vous souhaitez exécuter lorsque la fonction est appelée doit aller dans le corps de la fonction.
function NOM() --Function body print(2+2) --Fin de la fonction body end NAME() -- 4
Toute instruction return insérée dans la fonction arrêtera instantanément la fonction et renverra toutes les valeurs qui la suivent.
function func() print(2+2) return 2 --La fonction se termine ici print("Ceci ne sera jamais imprimé car nous avons déjà retourné.") end
Les fonctions, comme toutes les autres structures de contrôle, à l'exception de la structure de répétition, se terminent par le mot-clé 'end'.
N'importe quel nombre d'arguments
Parfois, vous pouvez avoir besoin d'une fonction qui peut accepter n'importe quel nombre d'arguments. Vous feriez cela en utilisant ce code.
fonction func(...) arguments locaux = {...} fin
Maintenant, 'args' est défini comme une table, qui contient tous les arguments donnés.
Types de données | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Types Lua de base | nul · booléen · nombre · un magnifique · fonction · données utilisateur · table | ||||||||||||||||||||||||||||||
Types de Roblox |
| ||||||||||||||||||||||||||||||
types C++ | bool · double · flotter · int · int64 · annuler |