Paare mit nil entfernen
Teil des Abschnitts Fundamentals der Lua-Journey von Coddy — Lektion 69 von 90.
Wenn man einem Schlüssel nil zuweist, entfernt Lua dieses Schlüssel-Wert-Paar effektiv aus der Tabelle:
local settings = {
["volume"] = 80,
["difficulty"] = "normal",
["music"] = true
}
-- Entferne die Schwierigkeitseinstellung
settings.difficulty = nil
-- Jetzt existiert der Schlüssel für die Schwierigkeit nicht mehr in der TabelleSie können entweder die Punktnotation oder die Klammernotation verwenden, um ein Schlüssel-Wert-Paar zu entfernen. Sowohl settings.difficulty = nil als auch settings["difficulty"] = nil funktionieren auf genau dieselbe Weise.
Nachdem man einem Schlüssel nil zugewiesen hat, verschwindet dieser Schlüssel vollständig aus der Tabelle. Wenn Sie später versuchen, darauf zuzugreifen, erhalten Sie nil als Ergebnis, genau so, als ob der Schlüssel von vornherein nie existiert hätte.
Aufgabe
EinfachErstellen Sie ein Spielkonfigurationssystem, das zeigt, wie unerwünschte Einstellungen aus einer Dictionary-ähnlichen Tabelle entfernt werden. Beginnen Sie mit der Erstellung einer Tabelle namens gameConfig mit den folgenden Schlüssel-Wert-Paaren: ["graphics"] soll der String "high" zugewiesen werden, ["sound"] soll die Zahl 75 zugewiesen werden, ["difficulty"] soll der String "normal" zugewiesen werden und ["debug"] soll der Boolean true zugewiesen werden.
Nachdem Sie die ursprüngliche Konfigurationstabelle erstellt haben, entfernen Sie die Einstellung debug, indem Sie ihr mithilfe der Punktnotation nil zuweisen. Geben Sie anschließend die verbleibende Sound-Einstellung aus, um zu überprüfen, ob die Tabelle die anderen Werte noch enthält.
Spickzettel
Um ein Schlüssel-Wert-Paar aus einer Tabelle zu entfernen, weisen Sie dem Schlüssel nil zu:
local settings = {
["volume"] = 80,
["difficulty"] = "normal",
["music"] = true
}
-- Entferne die Schwierigkeitseinstellung
settings.difficulty = nilSie können entweder die Punktnotation oder die Klammernotation verwenden:
settings.difficulty = nil
settings["difficulty"] = nilNach der Zuweisung von nil verschwindet der Schlüssel vollständig aus der Tabelle. Der Zugriff darauf gibt nil zurück.
Probier es selbst
-- TODO: Schreibe deinen Code hier
-- Erstelle die gameConfig-Tabelle mit den erforderlichen Schlüssel-Wert-Paaren
-- Entferne die Debug-Einstellung unter Verwendung der Punktnotation
-- Gib die Sound-Einstellung ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren 2: Vergleichs- & Logikoperatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorShort-Circuit EvaluationTruthy- und Falsy-WerteZusammenfassung – Einfache Logik7Grundlagen der bedingten Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungZusammenfassung – Schatzkiste10Tabellen Teil 1: Listen-Stil
Was ist eine Tabelle?Eine Tabelle erstellenZugriff auf Elemente per IndexElemente per Index ändernDer Längenoperator '#'table.insert()table.remove()Zusammenfassung - Gruppenmitglieder verwalten13Projekt: Einfacher Zaubertrank-Laden
Projekt-SetupEinen Trank hinzufügen2Variablen und Datentypen
Was ist eine Variable?ZahlenStringsBooleansDer Wert 'nil'Die type()-FunktionNamenskonventionenZusammenfassung - Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring() FunktionEingabeCastWiederholung - StatusberichtWiederholung - Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Wiederholung - Benutzernamen formatieren11Tabellen 2: Dictionary-Stil
Schlüssel-Wert-PaareDictionary-Stil Tabellen erstellenZugriff – KlammerschreibweiseZugriff mit PunktnotationPaare hinzufügen und ändernPaare mit nil entfernenWiederholung – Elementeigenschaften14Gültigkeitsbereich von Variablen
Globale VariablenLokale VariablenWarum lokale Variablen verwenden?Gültigkeitsbereich und BlöckeRückblick – Scope-Rätsel3Operatoren 1 Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorString-VerkettungOperatorrangfolgeRückblick - Einfache Berechnungen6Projekt: Charakter-Stats Anzeige
WillkommensnachrichtCharakter-Stats deklarieren9Grundlagen der Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie 'return'-AnweisungZusammenfassung - Flächenrechner12Schleifen-Grundlagen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie 'break'-AnweisungZusammenfassung - Countdown15Abschluss-Herausforderungen
Wiederholung – SpielerzugWiederholung – Einfache DatenbankWiederholung – Summe gerader Zahlen