Plusieurs fonctions types LUA reçoivent un nombre variable d'arguments.
Par exemple, vous avez souvent appelé la fonction print, avec un ou deux arguments, voire plus:
print(x, y, z) ou print("x "..y.." z")
Quand une fonction est appelée, les arguments sont collectés sous forme d'un tableau auquel la fonction aura accès au travers du paramètre caché (arg)
La table "arg" possède un champ particulier, "n" qui indique le nombre d'arguments collectés.
function nom(a, b) end nom(3) -- le param(3) sera traité par la fonction nom(3, 4) -- les param(3 et 4) seront traités par la fonction nom(3, 4, 5) -- les param(3 et 4) seront traités par la fonction -- mais pas le 3ème param qui est égal à 5 function nom(a, b, ...) print(a, b, ...) end nom(3, 4, 5, 6) -- tous les param seront traités par la fonction -- print affichera: 3 4 5 6