Déclaration et accès aux Maps
Fait partie de la section Introduction à Luau du Journey Lua de Coddy — leçon 16 sur 73.
La déclaration d'une table typée (map) ressemble aux constructeurs de tables que vous avez toujours écrits — l'annotation fixe simplement les types de clé et de valeur :
local stock: {[string]: number} = {apples = 12, bananas = 5}La lecture et l'écriture utilisent l'indexation que vous connaissez. Pour les clés qui sont des identifiants valides, stock.apples et stock["apples"] accèdent à la même entrée ; la forme avec crochets gère également les clés contenant des espaces ou celles stockées dans des variables :
stock["cherries"] = 20 -- ajoute une nouvelle entrée
stock.bananas = 8 -- met à jour une existante
print(stock["apples"]) -- 12
print(stock["plums"]) -- nil — jamais définiLe vérificateur de type surveille chaque écriture : stock["apples"] = "many" est signalé car "many" n'est pas un nombre, et utiliser un nombre comme clé est signalé car les clés doivent être des chaînes de caractères.
Pour supprimer une entrée, attribuez nil à sa clé — stock["bananas"] = nil la supprime complètement, et les lectures ultérieures renvoient nil. Il n'y a pas de fonction de suppression distincte ; c'est l'idiome Lua standard, et cela fonctionne toujours avec la vérification de type sur une map.
Défi
FacileCréez un map typé stock: {[string]: number} initialisé avec apples = 12 et bananas = 5. Ensuite :
- ajoutez une nouvelle entrée
cherriesavec la valeur20 - mettez à jour
bananasà8
Enfin, affichez avec print, chacun sur sa propre ligne :
- le stock de
apples - le stock de
bananas - le stock de
cherries - le stock de
plums— une clé que vous n'avez jamais définie
Essayez vous-même
-- Écrivez le code ici
-- 1) déclarer stock : {[string]: number} avec apples = 12, bananas = 5
-- 2) ajouter cherries = 20, mettre à jour bananas à 8
-- 3) afficher apples, bananas, cherries, puis plums
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
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
Typage des paramètres et valeurs de retourTypage des fonctions anonymesFonctions ne retournant rienParamètres optionnelsValeurs par défaut des paramètresFonctions variadiquesDéfinition des types de fonctionsRécapitulatif : Fonctions typées2Types fondamentaux
Types de base : num, str, boolLe type 'any' : la porte de sortieLe type 'unknown'Types Nil et optionnelsL'inférence de type en actionAnnotations explicites de typeRécapitulatif : Pratique des 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ésAjout et lecture d'élémentsQu'est-ce qu'un type Map ?Déclaration et accès aux MapsItération sur les tablesTables à formes mixtesTableaux typés multidimensionnelstable.unpack et VarargsRécapitulatif : Tableaux et Maps