Supprimer des paires avec nil
Fait partie de la section Fundamentals du Journey Lua de Coddy — leçon 69 sur 90.
Lorsque vous affectez nil à une clé, Lua supprime effectivement cette paire clé-valeur de la table :
local settings = {
["volume"] = 80,
["difficulty"] = "normal",
["music"] = true
}
-- Supprimer le paramètre de difficulté
settings.difficulty = nil
-- Maintenant, la clé de difficulté n'existe plus dans la tableVous pouvez utiliser soit la notation par point, soit la notation par crochets pour supprimer une paire clé-valeur. Les deux settings.difficulty = nil et settings["difficulty"] = nil fonctionnent exactement de la même manière.
Après avoir assigné nil à une clé, cette clé disparaît complètement de la table. Si vous essayez d'y accéder plus tard, vous obtiendrez nil comme résultat, tout comme si la clé n'avait jamais existé au départ.
Défi
FacileCréez un système de configuration de jeu qui démontre comment supprimer des paramètres indésirables d'une table de type dictionnaire. Commencez par créer une table nommée gameConfig avec les paires clé-valeur suivantes : ["graphics"] doit recevoir la chaîne "high", ["sound"] doit recevoir le nombre 75, ["difficulty"] doit recevoir la chaîne "normal", et ["debug"] doit recevoir le booléen true.
Après avoir créé la table de configuration initiale, supprimez le paramètre debug en lui assignant nil à l'aide de la notation par point. Ensuite, affichez le paramètre sound restant pour vérifier que la table contient toujours les autres valeurs.
Aide-mémoire
Pour supprimer une paire clé-valeur d'une table, affectez nil à la clé :
local settings = {
["volume"] = 80,
["difficulty"] = "normal",
["music"] = true
}
-- Supprimer le paramètre de difficulté
settings.difficulty = nilVous pouvez utiliser soit la notation par point, soit la notation par crochets :
settings.difficulty = nil
settings["difficulty"] = nilAprès avoir affecté nil, la clé disparaît complètement de la table. Y accéder renvoie nil.
Essayez vous-même
-- TODO : Écrivez votre code ici
-- Créez la table gameConfig avec les paires clé-valeur requises
-- Supprimez le paramètre debug en utilisant la notation par point
-- Affichez le paramètre soundCette 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