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 dostarcza genériczne funkcje dla manipulacji tabeli/阵, zapewniając wszystkie jego funkcje w globalnej zmiennej table. Większość funkcji w bibliotece table zakłada, że tabela reprezentuje maszynę lub listę. Dla tych funkcji "Długość" tabeli oznacza wynik operatora długości.

Podsumowanie

Funkcje

  • clear(table : table):()

    Ustawia wszystkie klucze w podanej tabeli na zero.

  • Zwraca płytę głębokości na dostarczonym stole.

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

    Wywraca dany zasięg elementów tabeli jako strumień, w którym każdy element jest oddzielony od siebie przez dany separator.

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

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

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

    Zwraca indeks pierwszej wystąpienie needle w haystack zaczynając od init .

  • Zmienia tabelę, którą podano, na tabelę tylko do czytania.

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

    Wstawia dany wartości na pozycję docelową w matrycy.

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

    Przydaje wartość dostarczoną na końcu wartości wymiaru.

  • Wyświetla true jeśli podana tabela jest zamrożona i false jeśli nie jest zamrożona.

  • Zwraca maksymalny klucz liczbowy dostarczonego w 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 zasięg elementów z jednej tabeli do innej.

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

    Wróci nowy stół zawierający podane wartości.

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

    Usunął element z listy, przenosząc później elementy do wypełnienia pustego miejsca, jeśli to możliwe.

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

    Sortuje elementy tabeli przy użyciu dostarczonej funkcji porównania lub operatora <.

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

    Zwraca wszystkie elementy z podanej listy jako tabelę.

Funkcje

clear

()

Ustawia wartość dla wszystkich kluczy w tabeli podaną na nil. To powoduje, że operator # powoduje powrót 0 dla danej tabeli. Zapewnia to wydajne ponowne używanie 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 notowania są ponownie wypełnione tą samą liczbą pozycji,
-- nie występowaćdo skalowania potencjalnie drogiego wymiaru
-- because the capacity was maintained by table.clear.

Funkcja ta nie usuwa/niszczy dostarczonej tabeli. Funkcja ta jest przeznaczona do użycia specjalnie dla tabel, które będą ponownie używane.

Parametry

table: table

Tabela, cuja klucze zostaną usunięte.

Zwroty

()

clone

Zwraca niezamrożoną skopiowaną wersję dostarczonego stolika.

Parametry

Tabela do klonowania.

Zwroty

Klon tabeli dostarczonej.

concat

Dane arkadze, w których wszystkie elementy są ciągami lub liczbami, zwraca strungę t[i] ... sep ... t[i+1] ... sep ... t[j] . Domyślną wartością dla sep jest pusty ciąg, domyślną dla i jest 1, a domyślną dla j jest #t.

Parametry

Tabela, która zostanie przekonwertowana do ciągu znaków.

sep: string

Strona, która zostanie połączona między każdym wpisem w tabeli.

Początkowy indeks kombinacji tabel.

Wartość domyślna: 1

Indeks końcowy tablicy kombinacji.

Zwroty

create

Tworzy tabelę z częścią массива przypisaną do danej number elementów, opcjonalnie wypełnioną value .


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

Jeśli wpisujesz do dużych tabel wielowymiarowych i jesteś pewien rozsądnego górnego limitu liczby elementów, zalecanym jest użycie tej funkcji do inicjalizacji tabeli. To gwarantuje, że część wierzchownika tabeli jest wystarczająco duża, ponieważ skalowanie jej może być drogie. Dla małych ilości jest to zwykle niezauważalne.

Parametry

count: number
value: Variant

Zwroty

find

Variant

W innerhalb table given like table haystack , znajdź pierwsze pojawienie się wartości needle , począwszy od indeksu init lub początku, jeśli nie zaznaczono. Jeśli wartość nie zostanie znaleziona, zwraca się 1> nil1>.

Algorytmu liniowej wyszukiwania jest wykonany.


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil, ponieważ z nie jest 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 sprawia, że dana tabela jest tylko czytelna, a w efekcie "zamraża" ją w jej obecnym stanie. Próbowanie zmodyfikować zamrożoną tabelę powoduje błąd.

Ten efekt zamrażania jest głęboki, co oznacza, że możesz zapisać do tabeli w zamrażanej tabeli. Aby zamrozić tabelę głęboko, wezwij tę funkcję recursively na wszystkich spadających tabelach.

Parametry

Tabela do zamrożenia.

Zwroty

Zamrożony stół.

insert

()

Wstawia dany wartości na pozycję docelową w matrycy.

Parametry

Tabela, do której jest przyjadą.

pos: number

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

value: Variant

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

Zwroty

()

insert

()

Przydaje wartość dostarczoną na końcu wartości wymiaru.

Parametry

Tabela, do której jest przyjadą.

value: Variant

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

Zwroty

()

isfrozen

Funkcja ta zwraca true jeśli dana tabela jest zamrożona i false jeśli nie jest zamrożona. Możesz zamrażać tabelki używając table.freeze().

Parametry

Tabela do sprawdzać.

Zwroty

Czy tabela jest zamrożona z table.freeze() .

maxn

Zwraca maksymalny klucz liczbowy dostarczonego w tabeli, lub zero, jeśli tabela nie ma kluczy liczbowych. Zignorowane są dziury w tabeli.

Parametry

Zwroty

move

Kopiuje elementy w tabeli src z src[a] do src[b] w tabeli 1> dst1> zaczynając od indeksu 4> t4> . Równoznaczny z oświadczeniem o przypisie 7> dst[t], ..., ds

Domyślnym dla dst jest src . Zakres docelowy może się więc skryć w zakresie źródła.

Zwraca dst dla wygody.

Parametry

src: table

Tabela źródłowa.

Zacznij kopiować na src[a] .

Kopiuj do i włącz src[b] .

Kopiuj do dst[t], ... .

dst: table

Tabela docelowa.

Wartość domyślna: src

Zwroty

dst , dla wygody.

pack

Variant

Wywraca nową tabelę z wszystkimi argumentami zapisanych w kluczach 1, 2 itp. i z polem "n" z całą liczbą argumentów. Uwaga, że wynikująca tabela może nie być sequencją.


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

Parametry

values...: Variant

Zwroty

Variant

remove

Variant

Usuwa z matrycy t element pozycji pos, zwracając wartość usuniętego elementu. Gdy pos jest liczbą większą niż 1 i #t, zmniejsza pozycje t[pos+1], t[pos+2], ..., t[#t] i usuwa pozycję

Parametry

Tabela, która ma usunięty element.

pos: number

Indeks elementu, który jest usuwany.

Zwroty

Variant

sort

()

Sortuje elementy tabeli w określonej kolejności, od t[1] do t[#t]. Jeśli comp jest podany, to musi to być funkcja, która otrzymuje dwa elementy i zwraca prawdę, gdy pierwszy element musi przyjść przed drugim w ostatecznym porządku.

Błąd invalid order function for sorting jest rzucany, jeśli zarówno comp(a, b) i comp(b, a) zwracają 2>true2>.

Jeśli comp nie jest podany, to standardowy operator Lua < jest zastosowany zamiast tego.

Parametry

comp: function

Opcjonalna funkcja porównania do użycia podczas porównywania elementów w tabeli. Ta funkcja otrzymuje dwa elementy i powinna zwrócić prawdę, jeśli pierwszy element powinien być sortowany przed drugim w ostatecznym porządku.

Wartość domyślna: nil

Zwroty

()

unpack

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

Uwaga, że ta sama funkcjonalność jest również zapewniana 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