table

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Questa libreria fornisce funzioni generiche per la manipolazione di tabelle/array, fornendo tutte le sue funzioni all'interno della variabile globale table.La maggior parte delle funzioni nella libreria table assume che la tabella rappresenti un array o una lista.Per queste funzioni, la "lunghezza" di una tabella significa il risultato dell'operatore di lunghezza.

Sommario

Funzioni

  • clear(table : table):()

    Imposta tutte le chiavi nella tabella data a nil .

  • Restituisce una copia superficiale della tabella fornita.

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

    Restituisce l'intervallo dato di elementi di tabella come una stringa in cui ogni elemento è separato dal separatore dato.

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

    Restituisce una nuova tabella popolata con molte istanze del valore specificato.

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

    Restituisce l'indice della prima occorrenza di needle all'interno di haystack a partire da init .

  • Rende la tabella data in lettura solo.

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

    Inserisce il valore fornito nella posizione target dell'vettore.

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

    Aggiunge il valore fornito alla fine dell'vettore.

  • Restituisce true se la tabella data è congelata e false se non è congelata.

  • Restituisce la chiave numerica massima della tabella fornita o zero se la tabella non ha chiavi numeriche.

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

    Copia il raggio specificato di elementi da una tabella all'altra.

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

    Restituisce una nuova tabella che contiene i valori forniti.

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

    Rimuove l'elemento specificato dall'vettore, spostando gli elementi successivi verso il basso per riempire lo spazio vuoto se possibile.

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

    Ordina gli elementi della tabella utilizzando la funzione di confronto fornita o l'operatore <.

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

    Restituisce tutti gli elementi dalla lista data come tupla.

Funzioni

clear

()

Imposta il valore per tutte le chiavi all'interno della tabella data a nil .Questo fa in modo che l'operatore # restituisca 0 per la tabella data.La capacità assegnata della porzione dell'array della tabella viene mantenuta, il che consente un riutilizzo efficiente dello Spazio.


local grades = {95, 82, 71, 92, 100, 60}
print(grades[4], #grades) --> 92, 6
table.clear(grades)
print(grades[4], #grades) --> null, 0
-- Se le valutazioni vengono nuovamente riempite con lo stesso numero di entrate,
-- non si si verificanoalcuna potenzialmente costosa ridimensionamento dell'array
-- because the capacity was maintained by table.clear.

Questa funzione non elimina/distrugge la tabella fornita a essa. Questa funzione è destinata ad essere utilizzata specificamente per le tabelle che devono essere riutilizzate.

Parametri

table: table

La tabella le cui chiavi verranno cancellate.

Restituzioni

()

clone

Restituisce una copia superficiale non congelata della tabella fornita.

Parametri

La tabella da clonare.

Restituzioni

Il clone della tabella fornita.

concat

Dato un array in cui tutti gli elementi sono stringhe o numeri, restituisce la stringa t[i] ... sep ... t[i+1] ... sep ... t[j] .Il valore predefinito per sep è una Stringavuota, il predefinito per i è 1, e il predefinito per j è #t.Se i è maggiore di j , restituisce la Stringavuota.

Parametri

La tabella che verrà convertita in una Stringa.

sep: string

La stringa che verrà concatenata tra ciascuna voce nella tabella.

L'indice iniziale della concatenazione della tabella.

Valore predefinito: 1

L'indice finale della concatenazione della tabella.

Restituzioni

create

Crea una tabella con la porzione dell'array assegnata al dato number di elementi, opzionalmente riempita con il dato value.


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

Se stai inserendo in tabelle di grandi dimensioni simili a un array e sei certo di un limite superiore ragionevole al numero di elementi, è consigliato utilizzare questa funzione per inizializzare la tabella.Questo garantisce che la porzione dell'array della tabella della sua memoria sia sufficientemente dimensionata, poiché ridimensionarla può essere costosa.Per piccole quantità questo non è tipicamente notevole.

Parametri

count: number
value: Variant

Restituzioni

find

Variant

All'interno della tabella simile a un array haystack , trova la prima occorrenza del valore needle , a partire dall'indice init o dall'inizio se non fornito.Se il valore non viene trovato, nil viene restituito.

Viene eseguito un algoritmo di ricerca lineare.


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil, perché z non è nella tabella
print(table.find(t, "b", 3)) --> nil, because b appears before index 3

Parametri

haystack: table
needle: Variant
init: number

Restituzioni

Variant

freeze

Questa funzione rende la tabella data read-only, effettivamente "congelandola" nella sua attuale condizione. Tentare di modificare una tabella congelata lancia un errore.

Questo effetto di congelamento è superficiale, il che significa che puoi scrivere su una tabella all'interno di una tabella congelata.Per congelare profondamente un tavolo, chiama questa funzione recursivamente su tutti i tavoli discendenti.

Parametri

La tabella da congelare.

Restituzioni

Il tavolo congelato.

insert

()

Inserisce il valore fornito nella posizione target dell'vettore.

Parametri

La tabella che viene appuntata a.

pos: number

La posizione in cui verrà inserito il valore.

value: Variant

Il valore che verrà aggiunto alla tabella.

Restituzioni

()

insert

()

Aggiunge il valore fornito alla fine dell'vettore.

Parametri

La tabella che viene appuntata a.

value: Variant

Il valore che verrà aggiunto alla tabella.

Restituzioni

()

isfrozen

Questa funzione restituisce true se la tabella data è congelata e false se non è congelata. Puoi congelare le tabelle usando table.freeze() .

Parametri

La tabella da Controllare /Verificare.

Restituzioni

Se il tavolo è congelato da table.freeze() .

maxn

Restituisce la chiave numerica massima della tabella fornita o zero se la tabella non ha chiavi numeriche. Gli spazi nella tabella vengono ignorati.

Parametri

Restituzioni

move

Copia gli elementi in tabella src da src[a] fino a src[b] nella tabella dst a partire dall'indice t .Equivalente alla dichiarazione di assegnazione dst[t], ..., dst[t + (b - a)] = src[a], ..., src[b] .

Il predefinito per dst è src . La gamma di destinazione può sovrapporsi alla gamma di origine.

Restituisce dst per comodità.

Parametri

src: table

Tabella di origine.

Inizia a copiare a src[a].

Copia fino a e compreso src[b] .

Copia in dst[t], ....

dst: table

Tabella di destinazione.

Valore predefinito: src

Restituzioni

dst , per comodità.

pack

Variant

Restituisce una nuova tabella con tutti gli argomenti memorizzati nelle chiavi 1, 2, ecc.e con un campo "n" con il numero totale di argomenti.Si noti che la tabella risultante potrebbe non essere una sequenza.


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

Parametri

values...: Variant

Restituzioni

Variant

remove

Variant

Rimuove dall'array l'elemento alla posizione pos, restituendo il valore dell'elemento rimosso.Quando pos è un intero tra 1 e #t, sposta verso il basso gli elementi t[pos+1], t[pos+2], ..., t[#t] e cancella l'elemento t[#t] .Se il parametro pos non viene fornito, pos imposta la lunghezza della tabella rimuovendo l'ultimo elemento.

Parametri

La tabella che ha un elemento rimosso.

pos: number

L'indice dell'elemento che viene rimosso.

Restituzioni

Variant

sort

()

Ordina gli elementi dell'array t in un ordine dato, da t[1] a t[#t] .Se comp viene fornito, deve essere una funzione che riceve due elementi e restituisce vero quando il primo elemento deve venire prima del secondo nell'ordine finale.

L'errore invalid order function for sorting viene lanciato se entrambi comp(a, b) e comp(b, a) restituiscono true .

Se non viene fornito comp, viene utilizzato invece l'operatore standard Luau <.

Parametri

comp: function

Una funzione di confronto opzionale da utilizzare quando si confrontano gli elementi nella tabella.Questa funzione riceve due elementi e dovrebbe restituire vero se il primo elemento deve essere ordinato prima del secondo nell'ordine finale.

Valore predefinito: nil

Restituzioni

()

unpack

Restituisce gli elementi dalla lista data. Per impostazione predefinita, i è 1 e j è la lunghezza di list .

Nota che questa stessa funzionalità è fornita anche dalla funzione globale unpack() .

Parametri

list: table

L'elenco degli elementi da disporre.

L'indice del primo elemento da decodificare.

Valore predefinito: 1

L'indice dell'ultimo elemento da decodificare.

Valore predefinito: #list

Restituzioni