Menu
CoddyTech

Annotations de structures en ligne

Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 39 sur 80.

En Lua, tu utilises depuis longtemps les tables comme enregistrements : local user = {name = "Ana", age = 20}. Rien ne t’empêche de mal orthographier un champ, d’en oublier un ou de stocker une chaîne là où un nombre est attendu. Tu ne t’en rends compte qu’à l’exécution du code.

Luau te permet de décrire la forme d’une telle table directement dans la déclaration, en énumérant chaque champ et son type entre accolades :

local user: {name: string, age: number} = {
    name = "Ana",
    age = 20,
}

Compare cela aux types de tables que tu connais déjà : {number} décrit un tableau et {[string]: number} décrit une map avec des clés de type chaîne quelconques. Une forme est plus précise. Elle nomme chaque champ individuellement et attribue à chacun son propre type.

Une fois la forme déclarée, le vérificateur de types contrôle la table par rapport à celle-ci pendant que tu modifies le code. Un champ manquant ou une valeur du mauvais type est signalé avant même l’exécution du code :

local user: {name: string, age: number} = {
    name = "Ana",
    age = "twenty", -- ✗ erreur de type : string n'est pas un nombre
}

Comme toujours, l’annotation n’ajoute aucun comportement à l’exécution : la table reste une simple table Lua. Les formes en ligne sont parfaites pour les structures ponctuelles que tu ne prévois pas de réutiliser ; dans la prochaine leçon, tu donneras un nom aux formes.

challenge icon

Défi

Facile

Décris l’enregistrement d’un étudiant directement dans sa déclaration.

  1. Déclare local student: {name: string, studentId: number} = {name = "Sarah Johnson", studentId = 12345}.
  2. Affiche student.name, puis student.studentId.

Appuie sur Exécuter le code : la sortie affiche Sarah Johnson et 12345.

Essayez vous-même

-- 1) déclarer student avec une annotation de structure en ligne
-- 2) afficher son nom, puis son studentId

Toutes les leçons de Introduction à Luau

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