Menu
Coddy logo textTech

Annotations de structures en ligne

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

En Lua, tu utilises depuis longtemps les tables comme des 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’endroit où un nombre est attendu. Tu ne t’en rends compte que lorsque le code s’exécute.

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

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

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

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

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

Comme toujours, l’annotation n’ajoute aucun comportement à l’exécution : la table reste une simple table Lua. Les formes inline sont idéales 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

Créez une variable nommée student avec une annotation de forme inline déclarant :

  • name de type string
  • studentId de type number
  • isEnrolled de type boolean

Initialisez-la avec le nom "Sarah Johnson", l’studentId 12345 et isEnrolled true.

Créez une deuxième variable nommée course avec une annotation de forme inline déclarant :

  • title de type string
  • credits de type number
  • instructor de type string

Initialisez-la avec le titre "Introduction to Luau", les crédits 3 et l’instructeur "Dr. Smith".

Affichez, chacun sur sa propre ligne :

  1. le nom de l’étudiant
  2. l’identifiant de l’étudiant
  3. le titre du cours
  4. le nombre de crédits

Essayez vous-même

-- Écrivez le code ici
-- 1) déclarez student avec une annotation de forme en ligne
-- 2) déclarez course avec une annotation de forme en ligne
-- 3) affichez les quatre champs demandés
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