Tables à formes mixtes
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 18 sur 73.
Les tableaux contiennent de nombreuses valeurs d’un même type ; les maps contiennent un type de clé et un type de valeur. Mais vos tables Lua les plus courantes mélangent les 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 avec une forme : un type de table qui répertorie 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 (ce champ n’existe pas), ou l’affectation de player.score = "high" (type incorrect). C’est un premier aperçu : un chapitre ultérieur approfondit considérablement les formes, les champs facultatifs et les méthodes.
Défi
FacileDéfinissez un alias de type Player pour une structure comportant trois champs : name: string, score: number et active: boolean.
Créez local player: Player avec le nom "Rio", le score 1500 et active défini sur true.
Affichez, chacun sur sa propre ligne :
- le nom du joueur
- le score du joueur
- le indicateur d’activité du joueur
- la ligne exacte
Rio has 1500 pointsconstruite par 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éer player: Player = {name = "Rio", score = 1500, active = true}
-- 3) afficher 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 MapsEntraînez-vous par vous-même : Compilateur Lua en ligne