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 della tabella / dell' array, fornendo tutte le sue funzioni all'interno della variabile globale table . La maggior parte delle funzioni nella libreria table suppone 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 tutti i valori nella tabella specificata su zero.
Restituisce una copia sommaria della tabella fornita.
Restituisce l'intervallo di elementi di tabella dato come una stringa in cui ogni elemento è separato dal separatore fornito.
Restituisce una nuova tabella popolata con molte istanze del valore specificato.
Restituisce l'indice della prima occorrenza di needle entro haystack inizialmente da 8> 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 specificata è congelata e false se non è congelata.
Restituisce la chiave numerica massima della tabella fornita, o zero se la tabella non ha chiavi numeriche.
Copia la gamma specificata 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 per riempire lo spazio vuoto se possibile.
Raggruppa i dati di tabella utilizzando la funzione di confronto fornita o l'operatore < .
Restituisce tutti gli elementi dalla lista fornita come un tupla.
Funzioni
clear
Imposta il valore per tutte le chiavi nella tabella specificata su zero. Ciò causa l'operatore # di restituire 0 per la tabella specificata. La capacità assegnata dell'area dell' array della tabella viene mantenuta, il che consente un'efficace riutilizzazione 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 sono riempite di nuovo con lo stesso numero di entrate,-- non si verrà si verificanopotenzialmente costoso resizing array-- because the capacity was maintained by table.clear.
Questa funzione non elimina/distrutto la tabella fornita. Questa funzione è destinata ad essere utilizzata specificamente per le tabelle che vengono riutilizzate.
Parametri
La tabella cui le chiavi saranno rimosse.
Restituzioni
concat
Dato un array in cui tutti gli elementi sono stringhe o numeri, restituisce il valore string t[i] ... sep ... t[i+1] ... sep ... t[j] . Il valore predefinito per sep è un'Stringavuota, il predefinito per i è 1, e il predefinito per j è #t. Se i è maggiore
Parametri
Restituzioni
create
Crea una tabella con la parte dell' array assegnata al number di elementi, opzionalmente riempita con la parte value .
local t = table.create(3, "Roblox")print(table.concat(t)) --> RobloxRobloxRoblox
Se stai inserendo in grandi tabelle a forma di array e sei certo di un limite superiore ragionevole per il numero di elementi, è consigliato utilizzare questa funzione per inizializzare la tabella. Ciò garantisce che la parte dell' array della tabella sia abbastanza grande, poiché ridimensionarlo può essere costoso. Per piccole quantità questo non è di solito visibile.
Parametri
Restituzioni
find
All'interno della tabella data haystack, trova la prima occorrenza di valore needle , iniziando dall'indice init o dall'inizio se non fornito. Se il valore non viene trovato, 1> nil1> viene restituito.
Un algoritmo di ricerca lineare viene eseguito.
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 "solo lettura", in pratica "congelandola" nel suo stato attuale. L'attentato di modificare una tabella congelata crea un errore.
Questo effetto di congelamento è superficiale, il che significa che puoi scrivere in una tabella all'interno di una tabella congelata. Per congelare profondamente una tabella, chiama questa funzione in modo ricorsivo su tutte le tabelle scendenti.
Parametri
La tabella da congelare.
Restituzioni
La tabella congelata.
insert
Aggiunge il valore fornito alla fine dell' vettore.
Parametri
La tabella che viene appesa.
Il valore che verrà appeso alla tabella.
Restituzioni
isfrozen
Questa funzione restituisce true se la tabella fornita è congelata e false se non è congelata. Puoi congelare le tabelle utilizzando table.freeze() .
Parametri
La tabella da Controllare /Verificare.
Restituzioni
Se la tabella è congelata da table.freeze() .
move
Copia gli elementi in tabella src da src[a] fino a src[b] in tabella 1> dst1> iniziando dall'indice 4> t4>. Equivalente alla dichiarazione di assegnazione 7> dst[t], ..., ds
Il valore predefinito per dst è src . La gamma di destinazione potrebbe essere sovrapposizionata con la gamma di origine.
Ritorna dst per convenienza.
Parametri
Restituzioni
dst , per convenienza.
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. Nota 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 t l' elemento alla posizione pos, restituendo il valore dell' elemento rimosso. Quando pos è un numero tra 1 e #t , sposta i singoli elementi t[pos+1], t[pos+2], ..., t[#t] e cancellare l' elemento 1> t[pos
Parametri
Restituzioni
sort
Sortizza gli elementi dell' array t in un ordine specificato, da t[1] a t[#t] . Se comp è dato, deve essere una funzione che riceve due elementi e restituisce vero quando il primo elemento deve essere prima del secondo nell'ordine finale.
L'errore invalid order function for sorting è lanciato se sia comp(a, b) che comp(b, a) restituiscono 1> true1> .
Se comp non viene specificato, allora viene utilizzato il normale operatore Lua < invece.
Parametri
Restituzioni
unpack
Restituisce gli elementi dalla lista fornita. Per impostazione predefinita, i è 1 e j è la lunghezza di list .
Nota che la stessa funzionalità viene fornita anche dalla funzione globale unpack() .