Menu
CoddyTech

Déclarer et accéder aux maps

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

Déclarer une table typée ressemble aux constructeurs de tables que tu as toujours écrits : l’annotation fixe simplement les types des clés et des valeurs :

local stock: {[string]: number} = {apples = 12, bananas = 5}

La lecture et l’écriture utilisent l’indexation que tu connais. Pour les clés qui sont des identifiants valides, stock.apples et stock["apples"] accèdent à la même entrée ; la notation entre crochets permet aussi de traiter les clés contenant des espaces ou stockées dans des variables :

stock["cherries"] = 20   -- ajouter une nouvelle entrée
stock.bananas = 8        -- mettre à jour une entrée existante
print(stock["apples"])  -- 12
print(stock["plums"])   -- nil : jamais définie

Le vérificateur de types surveille chaque écriture : stock["apples"] = "many" est signalé parce que "many" n’est pas un nombre, et l’utilisation d’un nombre comme clé est signalée parce que les clés doivent être des chaînes de caractères.

Pour supprimer une entrée, attribue nil à sa clé : stock["bananas"] = nil la supprime entièrement, et les lectures ultérieures renvoient nil. Il n’existe pas de fonction de suppression distincte ; c’est l’idiome Lua standard, et cette opération reste vérifiée par le système de types sur une table.

challenge icon

Défi

Facile

Conserve une table typée de fournitures scolaires.

  1. Déclare local stock: {[string]: number} = {pens = 40, rulers = 15}.
  2. Ajoute stock["erasers"] = 25 et remplace rulers par 10.
  3. Affiche le stock de pens, rulers, erasers et glue, un par ligne.

Appuie sur « Vérifier » : le résultat affiche 40, 10, 25 et nil.

Essayez vous-même

-- 1) déclare stock: {[string]: number} avec pens = 40, rulers = 15
-- 2) ajoute erasers = 25, remplace la valeur de rulers par 10
-- 3) affiche pens, rulers, erasers, puis glue

Toutes les leçons de Introduction à Luau

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