Menu
CoddyTech

table.unpack

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

Manchmal hast du Werte in einem Array, brauchst sie aber als einzelne Werte: zum Beispiel, um jedes Element als eigenes Argument zu übergeben. Dafür gibt es table.unpack: Es gibt alle Elemente eines Arrays einzeln zurück.

local scores: {number} = {85, 92, 78}
print(table.unpack(scores))           -- 85  92  78 (eine Zeile)
print(math.max(table.unpack(scores))) -- 92

print erhält drei Argumente und gibt sie daher in einer Zeile mit einem Tabulator dazwischen aus. math.max erwartet einzelne Zahlen, kein Array. Erst das Entpacken ermöglicht also diesen Aufruf.

table.unpack liest das Array, ohne es zu verändern. Die andere Richtung – eine Funktion, die mit ... eine beliebige Anzahl von Argumenten entgegennimmt – wird in der Lektion „Variadische Funktionen“ des nächsten Kapitels behandelt.

challenge icon

Aufgabe

Einfach

Verteile ein Array mit Punktzahlen auf einzelne Werte.

  1. Deklariere local scores: {number} = {64, 88, 71}.
  2. Gib table.unpack(scores) aus.
  3. Gib math.max(table.unpack(scores)) aus.

Klicke auf Run Code: Die Ausgabe zeigt 64 88 71 in einer Zeile und danach 88.

Probier es selbst

-- 1) deklariere scores: {number} = {64, 88, 71}
-- 2) gib die entpackten scores aus, danach ihren math.max-Wert

Alle Lektionen in Einführung in Luau

Übe selbstständig: Online-Luau-Compiler