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éfinieLe 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.
Défi
FacileConserve une table typée de fournitures scolaires.
- Déclare
local stock: {[string]: number} = {pens = 40, rulers = 15}. - Ajoute
stock["erasers"] = 25et remplacerulerspar10. - Affiche le stock de
pens,rulers,erasersetglue, 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
1Premiers pas avec Luau
Qu'est-ce que Luau ?Pourquoi utiliser Luau ?Votre premier code LuauVérification de type et modes d'erreurRécapitulatif : Introduction à Luau4Travailler avec les fonctions
Typer les paramètres et les valeurs de retourTyper les fonctions anonymesFonctions sans valeur de retourParamètres optionnelsValeurs par défaut des paramètresValeurs par défaut pour les booléensFonctions variadiquesDéfinir des types de fonctionsRécapitulatif : fonctions typées7Projet : gestionnaire de tâches typé
Projet : la structure d’une tâcheFonction pour ajouter une tâche2Types fondamentaux
Nombre, chaîne de caractères et booléenLe type « any » : une échappatoireLe type « unknown »Types nil et optionnelsL’inférence de types en actionAnnotations de type explicitesRécapitulatif : exercices sur les types fondamentaux5Alias, unions et intersections
Alias de types pour les types primitifsTypes unionsTravailler avec les types unionsTypes littérauxTypes intersectionsCombinaison d'alias de typesRécapitulatif : Combinaisons de types avancées3Tables typées : tableaux et maps
Tableaux typésAjouter et lire des élémentsQu’est-ce qu’un type Map ?Déclarer et accéder aux mapsParcourir les tablesTables de formes mixtesLire une grilleConstruire une grilletable.unpackRécapitulatif : tableaux et mapsEntraînez-vous par vous-même : Compilateur Luau en ligne