Paare mit nil entfernen
Teil des Abschnitts Grundlagen der Lua-Journey von Coddy. Lektion 69 von 90.
Wenn du nil einem Schlüssel zuweist, entfernt Lua dieses Schlüssel-Wert-Paar effektiv aus der Tabelle:
local settings = {
["volume"] = 80,
["difficulty"] = "normal",
["music"] = true
}
-- Entferne die difficulty-Einstellung
settings.difficulty = nil
-- Nun existiert der difficulty-Schlüssel nicht mehr in der TabelleDu kannst 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 genau auf dieselbe Weise.
Nachdem du einem Schlüssel nil zugewiesen hast, verschwindet dieser Schlüssel vollständig aus der Tabelle. Wenn du später versuchst, darauf zuzugreifen, erhältst du als Ergebnis nil, genau so, als hätte der Schlüssel von Anfang an nie existiert.
Aufgabe
EinfachErstelle ein Spielkonfigurationssystem, das das Entfernen unerwünschter Einstellungen aus einer Tabelle im Dictionary-Stil demonstriert. Erstelle zunächst eine Tabelle namens gameConfig mit den folgenden Schlüssel-Wert-Paaren: ["graphics"] soll die Zeichenkette "high" zugewiesen bekommen, ["sound"] soll die Zahl 75 zugewiesen bekommen, ["difficulty"] soll die Zeichenkette "normal" zugewiesen bekommen und ["debug"] soll der boolesche Wert true zugewiesen bekommen.
Nachdem du die anfängliche Konfigurationstabelle erstellt hast, entferne die Einstellung debug, indem du ihr mithilfe der Punktnotation nil zuweist. Gib anschließend die verbleibende Sound-Einstellung aus, um zu überprüfen, dass die Tabelle weiterhin die anderen Werte enthält.
Probier es selbst
-- TODO: Schreibe deinen Code hier
-- Erstelle die gameConfig-Tabelle mit den erforderlichen Schlüssel-Wert-Paaren
-- Entferne die debug-Einstellung mit 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 Grundlagen
4Operatoren 2: Vergleichs- und logische Operatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorKurzschlussauswertungTruthy- und Falsy-WerteRückblick – Einfache Logik7Grundlegende bedingte Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungWiederholung – Schatztruhe2Variablen und Datentypen
Was ist eine Variable?ZahlenZeichenkettenBoolesche WerteDer Wert „nil“Die Funktion type()NamenskonventionenRückblick – Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring()-FunktionEingabeTypumwandlungRückblick – StatusberichtRückblick – Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Rückblick – Benutzernamen formatieren11Tabellen 2: Wörterbuchstil
Schlüssel-Wert-PaareTabellen im Wörterbuchstil erstellenZugriff – KlammernotationZugriff mit PunktnotationPaare hinzufügen und ändernPaare mit nil entfernenRückblick – Eigenschaften von Elementen3Operatoren 1: Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorVerkettung von ZeichenkettenRangfolge der OperatorenWiederholung – Einfache Berechnungen6Projekt: Charakterwerte anzeigen
WillkommensnachrichtCharakterwerte deklarieren9Grundlagen von Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie Anweisung „return“Zusammenfassung – Flächenrechner12Grundlagen der Schleifen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie Anweisung „break“Rückblick – Countdown15Abschließende Herausforderungen
Wiederholung – SpielzugWiederholung – Einfache DatenbankWiederholung – Summe gerader ZahlenÜbe selbstständig: Online-Lua-Compiler