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))) -- 92print 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.
Défi
FacileDécompose un tableau de scores en valeurs distinctes.
- Déclare
local scores: {number} = {64, 88, 71}. - Affiche
table.unpack(scores). - 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
1Premiers pas avec Luau
Qu'est-ce que Luau ?Pourquoi utiliser Luau ?Votre premier code LuauVérification de type et modes d'erreurRécapitulatif : Introduction à Luau4Travailler avec les fonctions
Typer les paramètres et les valeurs de retourTyper les fonctions anonymesFonctions sans valeur de retourParamètres optionnelsValeurs par défaut des paramètresValeurs par défaut pour les booléensFonctions variadiquesDéfinir des types de fonctionsRécapitulatif : fonctions typées7Projet : gestionnaire de tâches typé
Projet : la structure d’une tâcheFonction pour ajouter une tâche2Types fondamentaux
Nombre, chaîne de caractères et booléenLe type « any » : une échappatoireLe type « unknown »Types nil et optionnelsL’inférence de types en actionAnnotations de type explicitesRécapitulatif : exercices sur les types fondamentaux5Alias, unions et intersections
Alias de types pour les types primitifsTypes unionsTravailler avec les types unionsTypes littérauxTypes intersectionsCombinaison d'alias de typesRécapitulatif : Combinaisons de types avancées3Tables typées : tableaux et maps
Tableaux typésAjouter et lire des élémentsQu’est-ce qu’un type Map ?Déclarer et accéder aux mapsParcourir les tablesTables de formes mixtesLire une grilleConstruire une grilletable.unpackRécapitulatif : tableaux et mapsEntraînez-vous par vous-même : Compilateur Luau en ligne