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 Tabellen-/Arrays manipulation, die alle ihre Funktionen innerhalb der globalen table Variable bereitstellen.Die meisten Funktionen in der table Bibliothek nehmen an, dass die Tabelle ein Array oder eine Liste darstellt.Für diese Funktionen bedeutet die "Länge" eines Tabells das Ergebnis des Längenbetreibers.

Zusammenfassung

Funktionen

  • clear(table : table):()

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

  • Gibt eine oberflächliche Kopie der bereitgestellten Tabelle zurück.

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

    Gibt die angegebene Reihe von Tabellen-Elementen als Zeichenkette zurück, in der jedes Element durch den angegebenen Trennzeichen getrennt wird.

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

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

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

    Gibt die Index der ersten Auftaucht von needle innerhalb von haystack ab, beginnend mit init .

  • Macht den angegebenen Tisch lesbar.

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

    Fügt den angegebenen Wert in die angegebene Position des Arrays ein.

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

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

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

  • Gibt die maximale numerische Taste der bereitgestellten Tabelle oder Null zurück, wenn die Tabelle keine numerischen Tasten hat.

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

    Kopiert die angegebene Reihe von Elementen von einer Tabelle in eine andere.

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

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

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

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

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

    Sortiert Tabellen元素 mit der bereitgestellten Vergleichsfunktion oder dem < Operator.

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

    Gibt alle Elemente aus der angegebenen Liste als Tupelzurück.

Funktionen

clear

()

Legt den Wert für alle Schlüssel innerhalb der angegebenen Tabelle auf nil fest.Dies veranlasst den # Operator, für die angegebene Tabelle 0 zurückzugeben.Die zugewiesene Kapazität des Array-Teils der Tabelle wird beibehalten, was eine effiziente Wiederverwendung des Platzermöglicht.


local grades = {95, 82, 71, 92, 100, 60}
print(grades[4], #grades) --> 92, 6
table.clear(grades)
print(grades[4], #grades) --> nil, 0
-- Wenn die Noten wieder mit derselben Anzahl von Einträgen gefüllt werden,
-- es findet keine möglicherweise teure arraygrößenänderung auftreten
-- because the capacity was maintained by table.clear.

Diese Funktion löscht/zerstört nicht die bereitgestellte Tabelle. Diese Funktion sollte speziell für Tabellen verwendet werden, die wiederverwendet werden sollen.

Parameter

table: table

Die Tabelle, deren Schlüssel gelöscht werden.

Rückgaben

()

clone

Gibt eine ungefrorene flache Kopie des bereitgestellten Tisches zurück.

Parameter

Die Tabelle, die geklont werden soll.

Rückgaben

Der Klon der bereitgestellten Tabelle.

concat

Angesichts eines Arrays, in dem alle Elemente Zeichen oder Zahlen sind, gibt es die Zeichenkette t[i] ... sep ... t[i+1] ... sep ... t[j] zurück.Der Standardwert für sep ist eine leere String, der Standard für i ist 1, und der Standard für j ist #t.Wenn i größer als j ist, gibt er die leere Stringzurück.

Parameter

Die Tabelle, die in eine Stringumgewandelt wird.

sep: string

Der String, der zwischen jedem Eintrag in der Tabelle kombiniert wird.

Der Start-Index der Tabellenkombination.

Standardwert: 1

Der Endindex der Tabellenkombination.

Rückgaben

create

Erstellt eine Tabelle mit dem Array-Anteil, der dem angegebenen number von Elementen zugewiesen ist, optional mit dem angegebenen value gefüllt.


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

Wenn du in große tabellenartige Tabellen einfügst und sicher bist, dass die Anzahl der Elemente ein vernünftiges Höchstlimit hat, wird empfohlen, diese Funktion zu verwenden, um die Tabelle zu initialisieren.Dies gewährleistet, dass der Array-Teil des Tisches ausreichend groß ist, da die Größenänderung teuer sein kann.Für kleine Mengen ist das in der Regel nicht bemerkbar.

Parameter

count: number
value: Variant

Rückgaben

find

Variant

Innerhalb der angegebenen tabellengleichen Tabelle haystack finden Sie die erste Auftauchtung des Werts needle, beginnend mit Index init oder vom Anfang, wenn nicht bereitgestellt.Wenn der Wert nicht gefunden wird, wird nil zurückgegeben.

Ein lineärer Suchalgorithmus wird ausgeführt.


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil, weil 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 den angegebenen Tabelle lesbar, effektiv "friert" sie in ihrem aktuellen Zustand ein. Wenn du versuchst, einen gefrorenen Tabelle zu modifizieren, wird ein Fehler ausgegeben.

Dieser Einfrierungseffekt ist flach, was bedeutet, dass du in einen gefrorenen Tabelle schreiben kannst.Um einen Tisch tief einzufrieren, rufe diese Funktion recursiv auf allen absteigenden Tabellen auf.

Parameter

Die Tabelle, die eingefroren werden soll.

Rückgaben

Der gefrorene Tisch.

insert

()

Fügt den angegebenen Wert in die angegebene Position des Arrays ein.

Parameter

Der Tabelle, die angehängt wird.

pos: number

Die Position, in der der Wert eingefügt wird.

value: Variant

Der Wert, der dem Tisch beigefügt wird.

Rückgaben

()

insert

()

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

Parameter

Der Tabelle, die angehängt wird.

value: Variant

Der Wert, der dem Tisch beigefügt wird.

Rückgaben

()

isfrozen

Diese Funktion gibt true zurück, wenn die angegebene Tabelle eingefroren ist, und false wenn sie nicht eingefroren ist. Du kannst Tabellen mit table.freeze() einfrieren.

Parameter

Die Tabelle zum überprüfen.

Rückgaben

Ob der Tabelle von table.freeze() aus gefroren wird.

maxn

Gibt die maximale numerische Taste der bereitgestellten Tabelle oder Null zurück, wenn die Tabelle keine numerischen Tasten hat. Lücken in der Tabelle werden ignoriert.

Parameter

Rückgaben

move

Kopiert Elemente in der Tabelle src von src[a] bis src[b] in die Tabelle dst beginnend mit Index t.Äquivalent zur Zuweisungs statement dst[t], ..., dst[t + (b - a)] = src[a], ..., src[b].

Der Standard für dst ist src. Die Zielreichweite kann sich mit der Quellreichweite überlappen.

Gibt dst für Bequemlichkeit zurück.

Parameter

src: table

Quellentabelle.

Beginne mit der Kopie bei src[a].

Kopieren bis und einschließlich src[b].

Kopieren 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üsseln 1, 2 usw. gespeichert wurdenund mit einem Feld "n" mit der Gesamtzahl der Argumente.Beachten Sie, dass die daraus resultierende Tabelle möglicherweise keine Sequenz ist.


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

Parameter

values...: Variant

Rückgaben

Variant

remove

Variant

Entfernt aus dem Array das Element an der Position pos und gibt den Wert des entfernten Elements zurück.Wenn pos eine Zahl zwischen 1 und #t ist, verschiebt sie die Elemente t[pos+1], t[pos+2], ..., t[#t] und löscht das Element t[#t].Wenn der Pos-Parameter nicht bereitgestellt wird, wird pos auf die Länge des Tisches zurückgesetzt, indem das letzte Element entfernt wird.

Parameter

Die Tabelle, die ein Element entfernt hat.

pos: number

Der Index des zu entfernenden Elements.

Rückgaben

Variant

sort

()

Sortiert Elemente der Array-T in einer bestimmten Reihenfolge, von t[1] bis t[#t].Wenn comp gegeben wird, muss es eine Funktion sein, die zwei Elemente empfängt und wahrheitsgemäß zurückgibt, wenn das erste Element vor dem zweiten in der letzten Reihenfolge kommen muss.

Der Fehler invalid order function for sorting wird geworfen, wenn sowohl comp(a, b) als auch comp(b, a) return true .

Wenn comp nicht angegeben wird, wird stattdessen der Standard-Luau-Operator < verwendet.

Parameter

comp: function

Eine optionale Vergleichsfunktion, die verwendet wird, wenn Elemente im Tabelle verglichen werden.Diese Funktion erhält zwei Elemente und sollte true zurückgeben, wenn das erste Element vor dem zweiten in der endgültigen Reihenfolge sortiert werden sollte.

Standardwert: nil

Rückgaben

()

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 von der globalen unpack()-Funktion bereitgestellt wird.

Parameter

list: table

Die Liste der Elemente, die entpackt werden sollen.

Der Index des ersten Elements zum Entpacken.

Standardwert: 1

Der Index des letzten Elements zum Entpacken.

Standardwert: #list

Rückgaben