Tables de formes mixtes
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 18 sur 80.
Les tableaux contiennent de nombreuses valeurs d’un même type ; les tables de hachage contiennent un type de clé et un type de valeur. Mais vos tables Lua les plus courantes mélangent différents types dans des champs nommés : un joueur avec un nom de type chaîne, un score de type nombre et un indicateur booléen. Luau décrit ces tables à l’aide d’une forme : un type de table qui énumère chaque champ 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 la forme. Il n’existe que pour le vérificateur : aucune valeur d’exécution nommée Point n’est créée. Chaque champ peut avoir 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 la forme déclarée, le vérificateur sait que player.score est un nombre et signale rapidement les erreurs : une faute de frappe comme player.scroe (aucun champ de ce nom), ou l’affectation player.score = "high" (type incorrect). Voici un premier aperçu : un chapitre ultérieur approfondira les formes, les champs facultatifs et les méthodes.
Défi
FacileDécris un joueur à l’aide d’un type de forme.
- Écris
type Player = {name: string, score: number, active: boolean}. - Crée
local player: Player = {name = "Kai", score = 900, active = false}. - Affiche
player.active, puis`{player.name} has {player.score} points`.
Appuie sur Run Code : le résultat affiche false et Kai has 900 points.
Essayez vous-même
-- 1) type Player = {...}
-- 2) local player: Player = {...}
-- 3) affiche le drapeau active, puis la ligne récapitulative
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