Menu
CoddyTech

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.

challenge icon

Défi

Facile

Décris un joueur à l’aide d’un type de forme.

  1. Écris type Player = {name: string, score: number, active: boolean}.
  2. Crée local player: Player = {name = "Kai", score = 900, active = false}.
  3. 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

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