Menu
CoddyTech

table.unpack

Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 21 sur 80.

Parfois, tu as des valeurs dans un tableau, mais tu en as besoin sous forme de valeurs distinctes : par exemple, pour passer chaque élément comme argument distinct. C’est le rôle de table.unpack : cette fonction renvoie tous les éléments d’un tableau, séparément.

local scores: {number} = {85, 92, 78}
print(table.unpack(scores))           -- 85  92  78 (sur une seule ligne)
print(math.max(table.unpack(scores))) -- 92

print reçoit trois arguments ; elle les affiche donc sur une seule ligne, séparés par une tabulation. math.max attend des nombres distincts, et non un tableau : c’est pourquoi le déballage permet à l’appel de fonctionner.

table.unpack lit le tableau sans le modifier. Dans l’autre sens, une fonction qui accepte un nombre quelconque d’arguments avec ... est présentée dans la leçon « Fonctions variadiques » du chapitre suivant.

challenge icon

Défi

Facile

Décompose un tableau de scores en valeurs distinctes.

  1. Déclare local scores: {number} = {64, 88, 71}.
  2. Affiche table.unpack(scores).
  3. Affiche math.max(table.unpack(scores)).

Appuie sur Exécuter le code : la sortie affiche 64 88 71 sur une ligne, puis 88.

Essayez vous-même

-- 1) déclare scores: {number} = {64, 88, 71}
-- 2) affiche les valeurs de scores décomposées, puis leur math.max

Toutes les leçons de Introduction à Luau

Entraînez-vous par vous-même : Compilateur Luau en ligne