table
*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
Imposta tutte le chiavi nella tabella data a nil .
Restituisce una copia superficiale della tabella fornita.
Restituisce l'intervallo dato di elementi di tabella come una stringa in cui ogni elemento è separato dal separatore dato.
Restituisce una nuova tabella popolata con molte istanze del valore specificato.
Restituisce l'indice della prima occorrenza di needle all'interno di haystack a partire da init .
Rende la tabella data in lettura solo.
Inserisce il valore fornito nella posizione target dell'vettore.
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.
Copia il raggio specificato di elementi da una tabella all'altra.
Restituisce una nuova tabella che contiene i valori forniti.
Rimuove l'elemento specificato dall'vettore, spostando gli elementi successivi verso il basso per riempire lo spazio vuoto se possibile.
Ordina gli elementi della tabella utilizzando la funzione di confronto fornita o l'operatore <.
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, 6table.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
La tabella le cui chiavi verranno cancellate.
Restituzioni
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
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
Restituzioni
find
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")) --> 4print(table.find(t, "z")) --> nil, perché z non è nella tabellaprint(table.find(t, "b", 3)) --> nil, because b appears before index 3
Restituzioni
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
Aggiunge il valore fornito alla fine dell'vettore.
Parametri
La tabella che viene appuntata a.
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() .
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
Restituzioni
dst , per comodità.
pack
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
Restituzioni
remove
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
Restituzioni
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
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() .