table

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Diese Bibliothek bietet generische Funktionen für die Manipulation von Tabellen/Arrays, wobei alle ihre Funktionen in der globalen table Variable. Die meisten Funktionen in der table Bibliothek nehmen an, dass die Tabelle ein Array oder eine Liste repräsentiert. Für diese Funktionen bedeutet die "Länge" einer Tabelle das Ergebnis des Längen operators.

Zusammenfassung

Funktionen

  • clear(table : table):void

    Setzt alle Schlüssel in der angegebenen Tabelle auf null.

  • Kehrt eine sch shallige Kopie der angegebenen Tabelle zurück.

  • concat(t : Array,sep : string,i : number,j : number):string

    Gibt die angegebene Reihe von Tabellementen als Strings zurück, in denen jedes Element durch den angegebenen Separator getrennt ist.

  • create(count : number,value : Variant):table

    Kehre eine neue Tabelle zurück, die mit vielen Instanzen des angegebenen Wertes gefüllt ist.

  • find(haystack : table,needle : Variant,init : number):Variant

    Gibt die Index der ersten Vorkommnisse von needle innerhalb von haystack ab 8> init zurück.

  • Macht die angegebene Tabelle nur für die Lesung.

  • insert(t : Array,pos : number,value : Variant):void

    Fügt den bereitgestellten Wert an die Zielposition des Arrays ein.

  • insert(t : Array,value : Variant):void

    Fügt dem angegebenen Wert am Ende des Arrays hinzu.

  • Gibt true zurück, wenn die angegebene Tabelle eingefroren ist, und false zurück, wenn sie nicht eingefroren ist.

  • Gibt die maximale nummerische Schlüssel der angegebenen Tabelle zurück, oder null, wenn die Tabelle keine nummerischen Schlüssel hat.

  • move(src : table,a : number,b : number,t : number,dst : table):table

    Kopiert die angegebene Reihe von Elementen von einer Tabelle zu einer anderen.

  • pack(values... : Variant):Variant

    Kehre eine neue Tabelle zurück, die die angegebenen Werte enthält.

  • remove(t : Array,pos : number):Variant

    Entfernt das angegebene Element aus der Array, verschiebt spätere Elemente, um den leeren Raum zu füllen, wenn möglich.

  • sort(t : Array,comp : function):void

    Sortiert Tabellenelemente mit der bereitgestellten Vergleichsfunktion oder dem Operator <.

  • unpack(list : table,i : number,j : number):Tuple

    Kehre alle Elemente der angegebenen Liste als Tupel zurück.

Funktionen

clear

void

Setzt den Wert für alle Schlüssel innerhalb der angegebenen Tabelle auf null. Dies verursacht, dass der # Operator für die angegebene Tabelle 0 zurückgibt. Die zugewiesene Kapazität der Tabelchenarrays wird aufrechterhalten, was die effiziente Wiederverwendung des Platzes ermöglicht.


local grades = {95, 82, 71, 92, 100, 60}
print(grades[4], #grades) --> 92, 6
table.clear(grades)
print(grades[4], #grades) --> null, 0
-- Wenn die Noten erneut mit der gleichen Anzahl von Einreichungen gefüllt werden,
-- keine möglicherweise teuren array-skalierung wird auftreten
-- because the capacity was maintained by table.clear.

Diese Funktion löscht/zerstört nicht die zu ihr hinzugefügte Tabelle. Diese Funktion ist so konzipiert, dass sie für Tabelle verwendet werden, die wiederverwendet werden sollen.

Parameter

table: table

Die Tabelle, deren Schlüssel freigegeben werden.

Rückgaben

void

clone

Kehre eine nicht gefrorene kürze Kopie der angegebenen Tabelle zurück.

Parameter

Die Tabelle, die geklont werden soll.

Rückgaben

Der Clone der angegebenen Tabelle.

concat

Gibt ein Array zurück, in dem alle Elemente Strings oder Zahlen sind, gibt den String t[i] ... sep ... t[i+1] ... sep ... t[j] . Der Standardwert für sep ist ein leeres Strings, der Standard für i ist 1, und der Standard für j ist #t. Wenn i größer als 1> j1> ist,

Parameter

Die Tabelle, die in eine Stringumgewandelt wird.

sep: string

Die Strings, die zwischen jedem Eintrag in der Tabelle konzentriert werden.

Der Start-Index der Tabelle Kombination.

Standardwert: 1

Der End索 des Tabelle-Konzentration.

Rückgaben

create

Erstellt eine Tabelle mit der zugewiesenen Arrangement-Anteil an den angegebenen number Elementen, optionale Füllung mit dem angegebenen value .


local t = table.create(3, "Roblox")
print(table.concat(t)) --> RobloxRobloxRoblox

Wenn Sie in große Arrays wie Tabellen einfügen und sicher sind, dass Sie ein vernünftiges Oberlimit für die Anzahl der Elemente erreicht haben, empfiehlt sich die Verwendung dieser Funktion, um die Tabelle zu initialisieren. Dies gewährleistet, dass die Tabelle ihres Speicherplatzes ausreichend groß ist, da das Skalieren teuer sein kann. Für kleine Mengen ist dies in der Regel nicht sichtbar.

Parameter

count: number
value: Variant

Rückgaben

find

Variant

In der angegebenen mat阵-Tabelle haystack finden Sie den ersten Vorkommenswert needle , der ab dem Index init oder vom Anfang an beginnend beginnt. Wenn der Wert nicht gefunden wird, wird 1> nil1> zurückgegeben.

Ein liniarlicher Suchalgorithmus wird ausgeführt.


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil, da z nicht in der tabelle ist
print(table.find(t, "b", 3)) --> nil, because b appears before index 3

Parameter

haystack: table
needle: Variant
init: number

Rückgaben

Variant

freeze

Diese Funktion macht die angegebene Tabelle so "einfrierend", dass sie in ihrem aktuellen Zustand "gefroren" ist. Wenn Sie versuchen, eine gefrorene Tabelle zu ändern, wird ein Fehler angezeigt.

Dieser Einfriereffekt ist tief, was bedeutet, dass Sie auf eine Tabelle innerhalb einer eingefrorenen Tabelle schreiben können. Um eine Tabelle tief einzufrieren, rufen Sie diese Funktion auf, recursiv auf alle absteigenden Tabellen.

Parameter

Der Tabelle, die eingefroren werden soll.

Rückgaben

Der gefrorene Tisch.

insert

void

Fügt den bereitgestellten Wert an die Zielposition des Arrays ein.

Parameter

Die Tabelle, die angeschlossen wird.

pos: number

Die Position, bei der der Wert eingefügt werden soll.

value: Variant

Der Wert, der dem Tisch hinzugefügt werden soll.

Rückgaben

void

insert

void

Fügt dem angegebenen Wert am Ende des Arrays hinzu.

Parameter

Die Tabelle, die angeschlossen wird.

value: Variant

Der Wert, der dem Tisch hinzugefügt werden soll.

Rückgaben

void

isfrozen

Diese Funktion gibt true zurück, wenn die angegebte Tabelle eingefroren ist, und false zurück, wenn sie nicht eingefroren ist. Sie können Tabellen mit table.freeze() einfrieren.

Parameter

Der Tabelle zum überprüfen.

Rückgaben

Ob die Tabelle von table.freeze() eingefroren ist.

maxn

Gibt die maximale nummerische Schlüssel der angegebenen Tabelle zurück, oder null, wenn die Tabelle keine nummerischen Schlüssel hat. Die Leerstellen in der Tabelle werden ignoriert.

Parameter

Rückgaben

move

Kopiert Elemente in der Tabelle src von src[a] bis src[b] in die Tabelle 1> dst1> mit dem Index 4> t4> . Äquivalent der Zuweisungsanweisung 7> dst[t], ..., ds

Die Standard für dst ist src . Die Zielreichweite kann mit der Quellreichweite überschneiden.

Gibt dst für Bequemlichkeit zurück.

Parameter

src: table

Quelle-Tabelle.

Beginnen Sie mit der Kopierung bei src[a] .

Kopiere bis einschließlich src[b] .

Kopiere in dst[t], ... .

dst: table

Zieltabelle.

Standardwert: src

Rückgaben

dst , für bequemlichkeit.

pack

Variant

Gibt eine neue Tabelle mit allen Argumenten zurück, die in Schlüssel 1, 2 usw. gespeichert sind, und mit einem Feld "n" mit der Gesamtsumme der Argumente. Beachten Sie, dass die resultierende Tabelle nicht eine Sequenz sein kann.


local t = table.pack(1, 2, 3)
print(table.concat(t, ", ")) --> 1, 2, 3

Parameter

values...: Variant

Rückgaben

Variant

remove

Variant

Entfernt aus der Matrix das Element an Position pos, das den Wert des entfernten Elements zurückgibt. Wenn pos ein Zahl ist zwischen 1 und #t, wird das Element t[pos+1], t[pos+2], ..., t[#t] und das Element 1> t[pos+1]1> gelöscht. W

Parameter

Die Tabelle, die ein Element entfernt.

pos: number

Der Index des zu entfernenden Elements.

Rückgaben

Variant

sort

void

Sortiert Elemente von Arrays in einer bestimmten Reihenfolge, von t[1] zu t[#t]. Wenn comp gegeben wird, muss es eine Funktion sein, die zwei Elemente erhält und wahr ist, wenn das erste Element vor dem zweiten in der finalen Reihenfolge kommt.

Der Fehler invalid order function for sorting wird zurückgeworfen, wenn sowohl comp(a, b) als auch comp(b, a) zurückkehren.

Wenn comp nicht gegeben wird, wird stattdessen der Standard-Lua-Betreiber < verwendet.

Parameter

comp: function

Eine optionale Vergleichsfunktion, die verwendet wird, wenn Elemente in der Tabelle verglichen werden. Diese Funktion erhält zwei Elemente und sollte wahr sein, wenn das erste Element vor dem zweiten in der finalen Reihenfolge sortiert werden sollte.

Standardwert: nil

Rückgaben

void

unpack

Gibt die Elemente aus der angegebenen Liste zurück. Standardmäßig ist i 1 und j ist die Länge von list.

Beachten Sie, dass diese gleiche Funktionalität auch durch die globale unpack() Funktion bereitgestellt wird.

Parameter

list: table

Die Liste der Elemente, die ausgepackt werden sollen.

Der Index des ersten Elements zum Entpacken.

Standardwert: 1

Der Index des letzten Elements, das entpackt werden soll.

Standardwert: #list

Rückgaben