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))) -- 92print 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.
Aufgabe
EinfachVerteile ein Array mit Punktzahlen auf einzelne Werte.
- Deklariere
local scores: {number} = {64, 88, 71}. - Gib
table.unpack(scores)aus. - 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
1Erste Schritte mit Luau
Was ist Luau?Warum Luau nutzen?Dein erster Luau-CodeTypprüfung & FehlermodiZusammenfassung: Einführung in Luau4Mit Funktionen arbeiten
Parameter und Rückgabewerte typisierenAnonyme Funktionen typisierenFunktionen ohne RückgabewertOptionale ParameterStandardwerte für ParameterStandardwerte für boolesche WerteFunktionen mit variabler ParameteranzahlFunktionstypen definierenRückblick: typisierte Funktionen7Projekt: Typisierter Aufgabenmanager
Projekt: Die AufgabenstrukturFunktion zum Hinzufügen einer Aufgabe2Grundlegende Typen
Zahl, String und BooleanDer Typ „any“: NotausgangDer Typ „unknown“Nil- und optionale TypenTypinferenz in der PraxisExplizite TypannotationenRückblick: Übung zu grundlegenden Typen5Typ-Aliase, Union-Typen und Schnittmengen-Typen
Typ-Aliase für PrimitivenUnion-TypenArbeiten mit Union-TypenLiterale TypenSchnittmengen-Typen (Intersection Types)Kombination von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Typisierte Tabellen: Arrays & Maps
Typisierte ArraysElemente hinzufügen und auslesenWas ist ein Map-Typ?Maps deklarieren und auf Elemente zugreifenTabellen durchlaufenTabellen mit gemischten FormenEin Raster auslesenEin Raster erstellentable.unpackRückblick: Arrays und MapsÜbe selbstständig: Online-Luau-Compiler