Accès avec la notation par point
Fait partie de la section Fundamentals du Journey Lua de Coddy — leçon 67 sur 90.
Lua offre une alternative plus pratique appelée notation par point. C'est une manière plus propre et plus lisible d'accéder aux valeurs lorsque vos clés sont des chaînes de caractères simples.
Au lieu d'écrire player["score"], vous pouvez simplement écrire player.score :
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- affiche : Alex
print(player.score) -- affiche : 1500La notation par point est ce que les programmeurs appellent du « sucre syntaxique » - c'est une façon plus agréable d'écrire la même chose. Cependant, cela ne fonctionne que lorsque votre clé est un identifiant Lua valide, ce qui signifie qu'elle ne contient que des lettres, des chiffres et des underscores, et qu'elle ne commence pas par un chiffre.
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- affiche : Lua ProgrammingDéfi
FacileCréez un système de gestion de bibliothèque qui démontre l'accès aux informations d'un livre en utilisant la notation par point. Tout d'abord, créez une table nommée book avec les paires clé-valeur suivantes : ["title"] doit se voir attribuer la chaîne "The Lua Guide", ["author"] doit se voir attribuer la chaîne "Roberto Ierusalimschy", ["pages"] doit se voir attribuer le nombre 328, et ["year"] doit se voir attribuer le nombre 2016. Après avoir créé la table, utilisez la notation par point pour accéder au titre du livre et l'afficher.
Aide-mémoire
Lua propose la notation par point comme une alternative plus propre à la notation par crochets pour accéder aux valeurs d'une table lorsque les clés sont des chaînes de caractères simples :
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- affiche : Alex
print(player.score) -- affiche : 1500La notation par point ne fonctionne que lorsque votre clé est un identifiant Lua valide (ne contient que des lettres, des chiffres et des underscores, et ne commence pas par un chiffre) :
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- affiche : Lua ProgrammingEssayez vous-même
-- TODO : Créer la table book avec les paires clé-valeur requises
-- TODO : Utiliser la notation par point pour accéder au titre du livre et l'afficherCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fundamentals
4Opérateurs 2 : Relationnels et Logique
Opérateurs d'égalitéOpérateurs relationnelsL'opérateur 'and'L'opérateur 'or'L'opérateur 'not'Évaluation court-circuitValeurs Truthy et FalsyRécapitulatif - Logique simple7Logique conditionnelle de base
L'instruction if-thenL'instruction if-then-elseL'instruction elseifRécapitulatif - Le coffre au trésor10Tables Partie 1 : Style Liste
Qu'est-ce qu'une Table ?Créer une TableAccéder aux éléments par indexModifier des éléments par indexL'opérateur de longueur '#'table.insert()table.remove()Récapitulatif - Gérer les membres du groupe13Projet : Boutique de potions simple
Configuration du projetAjouter une potion2Variables et types de données
Qu'est-ce qu'une variable ?Les nombresLes chaînes de caractèresLes booléensLa valeur 'nil'La fonction type()Conventions de nommageRécapitulatif - Profil de personnage5Affichage de base
Afficher des littérauxAfficher des variablesAfficher plusieurs valeursCombiner des chaînes et des variablesLa fonction tostring()EntréeLe CastRécapitulatif - Rapport d'étatRécapitulatif - Jusqu'à 1208Bases de la manipulation de chaînes
string.len()string.upper et string.lowerstring.sub()string.rep()string.find()Récapitulatif - Formater le nom d'utilisateur11Tables 2 : Style dictionnaire
Paires clé-valeurCréer des tables de style dictionnaireAccès - Notation par crochetsAccès avec la notation par pointAjouter et modifier des pairesSupprimer des paires avec nilRécapitulatif - Propriétés des éléments3Opérateurs 1 Arithmétique & Conc.
Opérateurs arithmétiquesOpérateur moduloOpérateur d'exponentiationConcaténation de chaînesPriorité des opérateursRécapitulatif - Calculs simples6Projet : Affichage des stats du personnage
Message de bienvenueDéclarer les statistiques du personnage9Bases des fonctions
Déclarer une fonctionAppeler une fonctionFonctions avec paramètresFonctions avec plusieurs paramètresL'instruction 'return'Récapitulatif - Calculateur d'aire