Menu
Coddy logo textTech

Deklarieren und Zugreifen auf Maps

Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 16 von 73.

Das Deklarieren einer typisierten Map sieht genauso aus wie die Tabellenkonstruktoren, die du schon immer geschrieben hast: Die Annotation legt lediglich die Schlüssel- und Werttypen fest:

local stock: {[string]: number} = {apples = 12, bananas = 5}

Lesen und Schreiben verwenden die Indexierung, die du bereits kennst. Bei Schlüsseln, die gültige Bezeichner sind, greifen stock.apples und stock["apples"] auf denselben Eintrag zu; die Klammernotation verarbeitet außerdem Schlüssel mit Leerzeichen oder Schlüssel, die in Variablen gespeichert sind:

stock["cherries"] = 20   -- neuen Eintrag hinzufügen
stock.bananas = 8        -- einen bestehenden aktualisieren
print(stock["apples"])  -- 12
print(stock["plums"])   -- nil — nie gesetzt

Der Typprüfer überwacht jeden Schreibzugriff: stock["apples"] = "many" wird markiert, weil "many" keine Zahl ist, und die Verwendung einer Zahl als Schlüssel wird ebenfalls markiert, weil Schlüssel Zeichenketten sein müssen.

Um einen Eintrag zu löschen, weist du seinem Schlüssel nil zu: stock["bananas"] = nil entfernt ihn vollständig, und spätere Lesezugriffe liefern nil. Es gibt keine separate Löschfunktion; dies ist das standardmäßige Lua-Idioms, und es wird auch bei einer Map weiterhin typgeprüft.

challenge icon

Aufgabe

Einfach

Erstelle eine typisierte Map stock: {[string]: number}, initialisiert mit apples = 12 und bananas = 5. Dann:

  1. füge einen neuen Eintrag cherries mit dem Wert 20 hinzu
  2. aktualisiere bananas auf 8

Gib schließlich jeden Wert in einer eigenen Zeile aus:

  1. den Bestand von apples
  2. den Bestand von bananas
  3. den Bestand von cherries
  4. den Bestand von plums: ein Schlüssel, den du nie gesetzt hast

Probier es selbst

-- Schreibe hier den Code
-- 1) deklariere stock: {[string]: number} mit apples = 12, bananas = 5
-- 2) füge cherries = 20 hinzu, aktualisiere bananas auf 8
-- 3) gib apples, bananas, cherries, dann plums aus
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 Einführung in Luau

Übe selbstständig: Online-Lua-Compiler