table

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Ta biblioteka zapewnia ogólne funkcje do manipulacji tablicy/matrycy, zapewniając wszystkie jej funkcje wewnątrz globalnej zmiennej table.Większość funkcji w bibliotece table zakłada, że tabela reprezentuje array lub listę.Dla tych funkcji "długość" tabeli oznacza wynik operatora długości.

Podsumowanie

Funkcje

  • clear(table : table):()

    Ustawia wszystkie klucze w podanym tabeli na nil .

  • Zwraca płytką kopię dostarczonej tabeli.

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

    Zwraca podany zakres elementów stołu jako ciąg, w którym każdy element jest oddzielony przez podany separator.

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

    Zwraca nową tabelę wypełnioną wieloma instancjami określonej wartości.

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

    Zwraca indeks pierwszego wystąpienia needle wewnątrz haystack rozpoczynając od init .

  • Sprawia, że podany stół jest tylko do odczytu.

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

    Wstawia podany wartość do pozycji docelowej w arzynie.

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

    Dodaje podany wartość do końca matrycy.

  • Wyświetla true jeśli podany stół jest zamrożony i false jeśli nie jest zamrożony.

  • Zwraca maksymalną liczbową klucz tablicy dostarczonej tabeli lub zero, jeśli tabela nie ma kluczy liczbowych.

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

    Kopiuje określony zakres elementów z jednej tabeli na drugą.

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

    Zwraca nową tabelę zawierającą podane wartości.

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

    Usuwa określony element z matrycy, przesuwając później elementy w dół, aby wypełnić pustą przestrzeń, jeśli to możliwe.

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

    Sortuje elementy tablicy za pomocą dostarczonej funkcji porównania lub operatora <.

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

    Zwraca wszystkie elementy z listy podanej jako tuple.

Funkcje

clear

()

Ustawia wartość dla wszystkich kluczy w danej tabeli na nil .Spowoduje to, że operator # powraca 0 dla podanych tabel.Zachowana jest przydzielona pojemność części matrycy tablicy, co umożliwia wydajne ponowne wykorzystanie przestrzeni.


local grades = {95, 82, 71, 92, 100, 60}
print(grades[4], #grades) --> 92, 6
table.clear(grades)
print(grades[4], #grades) --> nil, 0
-- Jeśli stopnie zostaną ponownie wypełnione taką samą liczbą wpisów,
-- nie występowaćpotencjalnie kosztowna zmiana rozmiaru matrycy
-- because the capacity was maintained by table.clear.

Funkcja ta nie usuwa/niszczy tabeli dostarczonej do niej. Funkcja ta jest przeznaczona do użycia specjalnie dla tabel, które mają być ponownie używane.

Parametry

table: table

Tabela, której klucze zostaną wyczyszczone.

Zwroty

()

clone

Zwraca rozmrożoną płytką kopię dostarczonej tabeli.

Parametry

Tabela do klonowania.

Zwroty

Kopia dostarczonego stołu.

concat

Danej tablicy, w której wszystkie elementy są strunami lub liczbami, zwraca łańcuch t[i] ... sep ... t[i+1] ... sep ... t[j].Domyślną wartością dla sep jest pusta ciąg, domyślną dla i jest 1, a domyślną dla j jest #t.Jeśli i jest większe niż j, zwraca pustą ciąg.

Parametry

Tabela, która zostanie zamieniona na ciąg znaków.

sep: string

Sznurek, który zostanie połączony między każdą pozycją w tabeli.

Początkowy indeks konkatenacji tabeli.

Wartość domyślna: 1

Ostatni indeks indeksu konkatenacji tabeli.

Zwroty

create

Tworzy tabelę z częścią array przydzieloną danemu number z elementów, opcjonalnie wypełnioną danym value.


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

Jeśli wstawiasz do dużych tablic podobnych do tablic i jesteś pewien rozsądnej górnej granicy liczby elementów, zaleca się użycie tej funkcji do zainicjowania tablicy.Zapewnia to, że część matrycy tablicy jej pamięci jest wystarczająco duża, ponieważ zmiana rozmiaru może być kosztowna.W przypadku niewielkich ilości jest to zazwyczaj niewidoczne.

Parametry

count: number
value: Variant

Zwroty

find

Variant

W ramach podanej tablicy podobnej do tablicy haystack, znajdź pierwszą wystąpienie wartości needle, zaczynając od indeksu init lub od początku, jeśli nie została podana.Jeśli wartość nie zostanie znaleziona, nil zostanie zwrócona.

Wykonano algorytm liniowego wyszukiwania.


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil, ponieważ z nie ma w tabeli
print(table.find(t, "b", 3)) --> nil, because b appears before index 3

Parametry

haystack: table
needle: Variant
init: number

Zwroty

Variant

freeze

Funkcja ta czyni podany stół odczytywalnym tylko w stanie, skutecznie "zamrażając" go w obecnym stanie. Podejmowanie próby zmiany zamrożonego stolu wywołuje błąd.

Ten efekt zamrażania jest płytki, co oznacza, że możesz pisać do tabeli w zamrożonej tabeli.Aby głęboko zamrozić tabelę, wezwij tę funkcję recursywnie na wszystkich malejących tabelach.

Parametry

Tabela, która ma być zamrożona.

Zwroty

Zamrożony stół.

insert

()

Wstawia podany wartość do pozycji docelowej w arzynie.

Parametry

Tabela, do której jest dodawany.

pos: number

Pozycja, w której wartość zostanie wstawiona.

value: Variant

Wartość, która zostanie dodana do tabeli.

Zwroty

()

insert

()

Dodaje podany wartość do końca matrycy.

Parametry

Tabela, do której jest dodawany.

value: Variant

Wartość, która zostanie dodana do tabeli.

Zwroty

()

isfrozen

Funkcja ta zwraca true jeśli podana tabela jest zamrożona, a false jeśli nie jest zamrożona. Możesz zamrażać tabele za pomocą table.freeze().

Parametry

Tabela do sprawdzać.

Zwroty

Czy stół jest zamrożony od table.freeze() .

maxn

Zwraca maksymalną liczbową klucz tablicy dostarczonej tablicy lub zero, jeśli tablica nie ma kluczy liczbowych. Przestrzenie w tabeli są ignorowane.

Parametry

Zwroty

move

Kopiuje elementy w tabeli src od src[a] do src[b] w tabeli dst rozpoczynając od indeksu t.Równoważne ze stwierdzeniem przypisania dst[t], ..., dst[t + (b - a)] = src[a], ..., src[b] .

Domyślny dla dst jest src. Zasięg docelowy może pokrywać się z zasięgiem źródła.

Zwraca dst dla wygody.

Parametry

src: table

Tabela źródeł.

Zacznij kopiować na src[a] .

Kopiuj do i włączając src[b].

Kopiuj do dst[t], ....

dst: table

Tabela docelowa.

Wartość domyślna: src

Zwroty

dst , dla wygody.

pack

Variant

Zwraca nową tabelę ze wszystkimi argumentami przechowywanymi w kluczach 1, 2 itp.i z polem "n" z całkowitą liczbą argumentów.Zauważ, że wynikowa tabela może nie być sekwencją.


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

Parametry

values...: Variant

Zwroty

Variant

remove

Variant

Usuwa z matrycy element o pozycji pos, zwracając wartość usuniętego elementu.Gdy pos jest liczbą całkowitą między 1 a #t, przesuwa w dół elementy t[pos+1], t[pos+2], ..., t[#t] i usuwa element t[#t].Jeśli parametr pos nie jest podany, pos domyślnie ustawia długość tabeli usuwając ostatni element.

Parametry

Tabela, w której usunięto element.

pos: number

Indeks elementu, który jest usuwany.

Zwroty

Variant

sort

()

Sortuje elementy matrycy t w określonej kolejności, od t[1] do t[#t].Jeśli comp jest podane, musi to być funkcja, która otrzymuje dwa elementy i zwraca prawdę, gdy pierwszy element musi pojawić się przed drugim w ostatecznej kolejności.

Błąd invalid order function for sorting jest wyświetlany, jeśli oba comp(a, b) i comp(b, a) zwracają true .

Jeśli nie zostanie podany , zostanie użyty domyślny operator Luau , zamiast tego.

Parametry

comp: function

Opcjonalna funkcja porównywania do użycia przy porównywaniu elementów w tabeli.Funkcja ta otrzymuje dwa elementy i powinna zwrócić prawdę, jeśli pierwszy element powinien być sortowany przed drugim w ostatecznej kolejności.

Wartość domyślna: nil

Zwroty

()

unpack

Zwraca elementy z podanej listy. Domyślnie i jest 1, a j jest długością list .

Zauważ, że ta sama funkcjonalność jest dostarczana również przez globalną funkcję unpack().

Parametry

list: table

Lista elementów do rozpakowania.

Indeks pierwszego elementu do rozpakowania.

Wartość domyślna: 1

Indeks ostatniego elementu do rozpakowania.

Wartość domyślna: #list

Zwroty