Menu
Coddy logo textTech

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.

challenge icon

Défi

Facile

Dé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 :

  1. le nom du joueur
  2. le score du joueur
  3. le indicateur d’activité du joueur
  4. la ligne exacte Rio has 1500 points construite 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
quiz iconTestez-vous

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

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