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 aus wie die Tabellenkonstruktoren, die Sie schon immer geschrieben haben — die Annotation legt lediglich die Schlüssel- und Werttypen fest:

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

Lesen und Schreiben nutzen die Indizierung, die Sie bereits kennen. Für Schlüssel, die gültige Bezeichner sind, greifen stock.apples und stock["apples"] auf denselben Eintrag zu; die Klammerform verarbeitet auch Schlüssel mit Leerzeichen oder solche, die in Variablen gespeichert sind:

stock["cherries"] = 20   -- füge einen neuen Eintrag hinzu
stock.bananas = 8        -- aktualisiere einen bestehenden
print(stock["apples"])  -- 12
print(stock["plums"])   -- nil — nie gesetzt

Der Type-Checker überwacht jeden Schreibvorgang: stock["apples"] = "many" wird gemeldet, weil "many" keine Zahl ist, und die Verwendung einer Zahl als Schlüssel wird gemeldet, weil Schlüssel Strings sein müssen.

Um einen Eintrag zu löschen, weisen Sie 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 Standard-Lua-Idiom, und es besteht nach wie vor die Typprüfung für eine `map`.

challenge icon

Aufgabe

Einfach

Erstelle eine typed map stock: {[string]: number}, die mit apples = 12 und bananas = 5 initialisiert ist. Danach:

  1. Füge eine neue entry cherries mit dem Wert 20 hinzu (add)
  2. Aktualisiere (update) bananas auf 8

Drucke (print) schlussendlich, jeweils in einer eigenen Zeile:

  1. den Bestand von apples
  2. den Bestand von bananas
  3. den Bestand von cherries
  4. den Bestand von plums — ein key, den du never gesetzt hast

Probier es selbst

-- Schreibe Code hier
-- 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