Déclaration et accès aux Maps
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 16 sur 73.
Déclarer une map typée ressemble aux constructeurs de tables que vous avez 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 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 entre crochets gère également les clés contenant des espaces ou celles stockées dans des variables :
stock["cherries"] = 20 -- ajouter une nouvelle entrée
stock.bananas = 8 -- mettre à jour une existante
print(stock["apples"]) -- 12
print(stock["plums"]) -- nil — jamais définiLe vérificateur de types surveille chaque écriture : stock["apples"] = "many" est signalé, car "many" n’est pas un nombre, et l’utilisation d’un nombre comme clé est signalée, car les clés doivent être des chaînes.
Pour supprimer une entrée, affectez 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 cela reste vérifié par le système de types sur une map.
Défi
FacileCréez une map typée stock: {[string]: number} initialisée avec apples = 12 et bananas = 5. Ensuite :
- add une nouvelle entrée
cherriesavec la valeur20 - mettez à jour
bananasà8
Enfin, affichez, chacune 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éclarez stock : {[string]: number} avec apples = 12, bananas = 5
-- 2) ajoutez cherries = 20, mettez à jour bananas à 8
-- 3) affichez 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 MapsEntraînez-vous par vous-même : Compilateur Lua en ligne