Paare hinzufügen und ändern
Teil des Abschnitts Fundamentals der Lua-Journey von Coddy — Lektion 68 von 90.
Um ein neues Schlüssel-Wert-Paar hinzuzufügen oder ein bestehendes zu ändern, verwenden Sie einfach den Zuweisungsoperator entweder mit der Punktnotation oder der Klammernotation:
local player = {
["name"] = "Alex",
["level"] = 5
}
-- Ein neues Schlüssel-Wert-Paar hinzufügen
player.gold = 100
-- Einen bestehenden Wert ändern
player.level = 6Das Schöne an diesem Ansatz ist, dass Lua nicht zwischen Hinzufügen und Ändern unterscheidet. Wenn der Schlüssel "gold" nicht in der Tabelle existiert, wird er mit dem Wert 100 erstellt. Wenn der Schlüssel "level" bereits existiert, wird sein Wert auf 6 aktualisiert.
Sie können für diese Operationen entweder die Punktnotation oder die Klammernotation verwenden:
-- Beides funktioniert auf die gleiche Weise
player.class = "Warrior"
player["weapon"] = "Sword"Aufgabe
EinfachErstellen Sie ein Charakter-Fortschrittssystem, das sowohl das Hinzufügen neuer Attribute als auch das Ändern bestehender Attribute demonstriert. Beginnen Sie mit der Erstellung einer Tabelle namens hero mit den folgenden anfänglichen Schlüssel-Wert-Paaren: ["name"] sollte der String "Warrior" zugewiesen werden, ["level"] sollte die Zahl 5 zugewiesen werden und ["health"] sollte die Zahl 120 zugewiesen werden.
Führen Sie nach der Erstellung der anfänglichen Charaktertabelle die folgenden Änderungen durch: Fügen Sie zuerst ein neues Schlüssel-Wert-Paar ["class"] mit dem Wert "Paladin" unter Verwendung der Punktnotation hinzu. Ändern Sie als Nächstes den vorhandenen level-Wert unter Verwendung der Klammernotation auf 7. Fügen Sie schließlich ein weiteres neues Schlüssel-Wert-Paar ["mana"] mit dem Wert 80 unter Verwendung der Klammernotation hinzu.
Nachdem alle Änderungen abgeschlossen sind, geben Sie die Klasse des Helden und das aktualisierte Level aus, um die Änderungen zu überprüfen.
Spickzettel
Um ein neues Schlüssel-Wert-Paar hinzuzufügen oder ein bestehendes in einer Tabelle zu ändern, verwenden Sie den Zuweisungsoperator mit Punktnotation oder Klammernotation:
local player = {
["name"] = "Alex",
["level"] = 5
}
-- Ein neues Schlüssel-Wert-Paar hinzufügen
player.gold = 100
-- Einen bestehenden Wert ändern
player.level = 6Lua unterscheidet nicht zwischen Hinzufügen und Ändern – wenn der Schlüssel nicht existiert, wird er erstellt; wenn er existiert, wird sein Wert aktualisiert.
Sowohl die Punktnotation als auch die Klammernotation funktionieren für diese Operationen:
-- Beides funktioniert auf die gleiche Weise
player.class = "Warrior"
player["weapon"] = "Sword"Probier es selbst
-- Erstelle die initiale Hero-Tabelle
local hero = {
-- TODO: Füge hier die initialen Schlüssel-Wert-Paare hinzu
}
-- TODO: Füge neue Attribute hinzu und ändere bestehende unter Verwendung der Punkt- und Klammerschreibweise
-- Gib die Klasse und das aktualisierte Level des Helden aus
print(hero.class)
print(hero.level)Diese 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