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 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

  • clear(table : table):()

    Imposta tutti i valori nella tabella specificata su zero.

  • Restituisce una copia sommaria della tabella fornita.

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

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

  • 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 entro haystack inizialmente da 8> 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 specificata è 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 la gamma specificata 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 per riempire lo spazio vuoto se possibile.

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

    Raggruppa i dati di tabella utilizzando la funzione di confronto fornita o l'operatore < .

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

    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, 6
table.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

table: table

La tabella cui le chiavi saranno rimosse.

Restituzioni

()

clone

Restituisce una copia non congelata di una tabella fornita.

Parametri

La tabella da clonare.

Restituzioni

La clonazione della tabella fornita.

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

La tabella che verrà convertita in una Stringa.

sep: string

La stringa che verrà concatenata tra ogni riga nella tabella.

L'indice di partenza della concatenazione delle tabelle.

Valore predefinito: 1

L'indice di fine tabella della concatenazione delle tabelle.

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

count: number
value: Variant

Restituzioni

find

Variant

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")) --> 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 "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

()

Inserisce il valore fornito nella posizione target dell' vettore.

Parametri

La tabella che viene appesa.

pos: number

La posizione in cui verrà inserito il valore.

value: Variant

Il valore che verrà appeso alla tabella.

Restituzioni

()

insert

()

Aggiunge il valore fornito alla fine dell' vettore.

Parametri

La tabella che viene appesa.

value: Variant

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() .

maxn

Restituisce la chiave numerica massima della tabella fornita, o zero se la tabella non ha chiavi numeriche. Le parti nella tabella vengono ignorate.

Parametri

Restituzioni

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

src: table

Tavola di origine.

Inizia a copiare a src[a] .

Copia fino a e includere src[b] .

Copia in dst[t], ... .

dst: table

Tavola di destinazione.

Valore predefinito: src

Restituzioni

dst , per convenienza.

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. 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

values...: Variant

Restituzioni

Variant

remove

Variant

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

La tabella che ha un elemento rimosso.

pos: number

L'indice dell'elemento che viene rimosso.

Restituzioni

Variant

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

comp: function

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

Valore predefinito: nil

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() .

Parametri

list: table

La lista degli elementi da scompattare.

L'indice del primo elemento da unpack.

Valore predefinito: 1

L'indice dell'ultimo elemento da un包.

Valore predefinito: #list

Restituzioni