Tables à formes mixtes
Fait partie de la section Introduction à Luau du Journey Lua de Coddy — leçon 18 sur 73.
Les tableaux contiennent plusieurs valeurs d'un seul type ; les maps contiennent un type de clé et un type de valeur. Mais vos tables Lua les plus courantes mélangent les types sous des champs nommés — un player avec un string name, un number score, un boolean flag. Luau les type avec un shape : un type de table qui liste chaque field et son propre type.
type Point = {x: number, y: number}
local origin: Point = {x = 0, y = 0}
print(origin.x)Le mot-clé type crée un alias de type — un nom réutilisable pour le shape. Il existe uniquement pour le vérificateur : aucune valeur à l'exécution nommée Point n'est créée. Les champs peuvent avoir chacun un type différent :
type Player = {name: string, score: number, active: boolean}
local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)Une fois le shape déclaré, le vérificateur sait que player.score est un number et signale les erreurs très tôt : une faute de frappe comme player.scroe (aucun field de ce nom), ou l'assignation player.score = "high" (mauvais type). C'est un premier aperçu — un chapitre ultérieur explorera plus en détail les shapes, les champs optionnels et les méthodes.
Défi
FacileDéfinissez un alias de type Player pour une `shape` avec trois champs : name: string, score: number et active: boolean.
Créez local player: Player avec le `name` "Rio", le `score` 1500 et active défini sur true.
Affichez avec `print`, chacun sur sa propre ligne :
- le nom du `player`
- le `score` du `player`
- le fanion `active` du `player`
- la ligne exacte
Rio has 1500 pointsconstruite avec de l'interpolation de chaîne à partir des champs
Essayez vous-même
-- Écrivez le code ici
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) créez player: Player = {name = "Rio", score = 1500, active = true}
-- 3) affichez name, score, active, puis la ligne de résumé interpolée
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
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
Typage des paramètres et valeurs de retourTypage des fonctions anonymesFonctions ne retournant rienParamètres optionnelsValeurs par défaut des paramètresFonctions variadiquesDéfinition des types de fonctionsRécapitulatif : Fonctions typées2Types fondamentaux
Types de base : num, str, boolLe type 'any' : la porte de sortieLe type 'unknown'Types Nil et optionnelsL'inférence de type en actionAnnotations explicites de typeRécapitulatif : Pratique des 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ésAjout et lecture d'élémentsQu'est-ce qu'un type Map ?Déclaration et accès aux MapsItération sur les tablesTables à formes mixtesTableaux typés multidimensionnelstable.unpack et VarargsRécapitulatif : Tableaux et Maps