Zugriff mit Punktnotation
Teil des Abschnitts Fundamentals der Lua-Journey von Coddy — Lektion 67 von 90.
Lua bietet eine bequemere Alternative namens Punktnotation. Dies ist eine sauberere, lesbarere Art, auf Werte zuzugreifen, wenn Ihre Schlüssel einfache Strings sind.
Anstatt player["score"] zu schreiben, kannst du einfach player.score schreiben:
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- Ausgabe: Alex
print(player.score) -- Ausgabe: 1500Die Punktnotation ist das, was Programmierer als „syntaktischen Zucker“ bezeichnen – es ist eine angenehmere Art, dasselbe zu schreiben. Sie funktioniert jedoch nur, wenn Ihr Schlüssel ein gültiger Lua-Bezeichner ist, was bedeutet, dass er nur Buchstaben, Zahlen und Unterstriche enthält und nicht mit einer Zahl beginnt.
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- Ausgabe: Lua ProgrammingAufgabe
EinfachErstellen Sie ein Bibliotheksverwaltungssystem, das den Zugriff auf Buchinformationen mithilfe der Punktnotation demonstriert. Erstellen Sie zunächst eine Tabelle namens book mit den folgenden Schlüssel-Wert-Paaren: ["title"] soll der String "The Lua Guide" zugewiesen werden, ["author"] soll der String "Roberto Ierusalimschy" zugewiesen werden, ["pages"] soll die Zahl 328 zugewiesen werden und ["year"] soll die Zahl 2016 zugewiesen werden. Verwenden Sie nach dem Erstellen der Tabelle die Punktnotation, um auf den Titel des Buches zuzugreifen und diesen auszugeben.
Spickzettel
Lua bietet die Punktnotation als sauberere Alternative zur Klammernotation für den Zugriff auf Tabellenwerte an, wenn die Schlüssel einfache Zeichenfolgen sind:
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- Ausgabe: Alex
print(player.score) -- Ausgabe: 1500Die Punktnotation funktioniert nur, wenn Ihr Schlüssel ein gültiger Lua-Bezeichner ist (nur Buchstaben, Zahlen und Unterstriche enthält und nicht mit einer Zahl beginnt):
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- Ausgabe: Lua ProgrammingProbier es selbst
-- TODO: Erstelle die Buch-Tabelle mit den erforderlichen Schlüssel-Wert-Paaren
-- TODO: Verwende die Punktnotation, um auf den Titel des Buches zuzugreifen und ihn auszugebenDiese 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