Menu
Coddy logo textTech

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: 1500

Die 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 Programming
challenge icon

Aufgabe

Einfach

Erstellen 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: 1500

Die 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 Programming

Probier 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 auszugeben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals