Funzioni della libreria table
Applichi table.insert, remove, sort, concat, move e unpack.
Funzioni della libreria table è una lezione Lua Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Lua Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Lua Academy include 4 lezioni in totale.
Il modulo table
Il modulo table fornisce funzioni per manipolare le tabelle Lua usate come array: insert, remove, sort, concat, move e unpack.
table.insert
table.insert(t, val) aggiunge un elemento alla fine. table.insert(t, pos, val) inserisce un elemento nella posizione indicata, spostando a destra gli elementi successivi.
local t = {"a", "b", "d"}
table.insert(t, "e") -- append
table.insert(t, 3, "c") -- insert at index 3
print(table.concat(t, ",")) -- a,b,c,d,etable.remove
table.remove(t) rimuove e restituisce l'ultimo elemento. table.remove(t, pos) rimuove l'elemento nella posizione indicata e sposta a sinistra gli elementi successivi.
local t = {"x", "y", "z"}
print(table.remove(t)) -- z
print(table.remove(t, 1)) -- x
print(table.concat(t)) -- ytable.sort
table.sort(t, cmp) ordina sul posto. Senza cmp, usa <. Il comparatore deve definire un ordinamento debole stretto.
local t = {3, 1, 4, 1, 5, 9, 2, 6}
table.sort(t)
print(table.concat(t, " ")) -- 1 1 2 3 4 5 6 9table.concat
table.concat(t, sep, i, j) unisce gli elementi dell'array in una stringa. Gli elementi devono essere stringhe o numeri.
local words = {"Hello", "world", "from", "Lua"}
print(table.concat(words, " ")) -- Hello world from Luatable.move
table.move(a1, f, e, t, a2) copia gli elementi da a1[f..e] in a2 a partire da t. Se a2 viene omesso, copia gli elementi all'interno di a1.
local src = {1,2,3,4,5}
local dst = table.move(src, 2, 4, 1, {})
print(table.concat(dst, ",")) -- 2,3,4table.unpack
table.unpack(t, i, j) restituisce gli elementi da t[i] a t[j] come valori separati. Valori predefiniti: da 1 a #t.
local t = {10, 20, 30}
print(table.unpack(t)) -- 10 20 30
local a, b = table.unpack(t, 1, 2)
print(a, b) -- 10 20table.pack
table.pack(...) raccoglie gli argomenti variadici in una tabella con un campo n contenente il conteggio totale, inclusi i nil.
local function allArgs(...)
local t = table.pack(...)
print("count:", t.n)
return t
end
allArgs(1, nil, 3) -- count: 3Simulare una coda con insert/remove
Utilizzi table.insert per accodare alla fine e table.remove(t, 1) per rimuovere dalla parte anteriore (nota: costo O(n)).
Simulare uno stack
Utilizzi table.insert per inserire nello stack e table.remove (senza posizione) per estrarre: entrambe sono operazioni O(1).
table.move per lo scorrimento
Sposti tutti gli elementi a sinistra di una posizione usando table.move(t, 2, #t, 1), quindi imposti a nil l'ultimo elemento.
local t = {1,2,3,4,5}
table.move(t, 2, #t, 1)
t[#t] = nil
print(table.concat(t, ",")) -- 2,3,4,5Domanda sulla libreria table
Cosa restituisce table.pack(1, nil, 3)?
Riepilogo: libreria table
La libreria table fornisce insert, remove, sort, concat, move, unpack e pack. Insieme, gestiscono in modo efficiente tutte le esigenze comuni di manipolazione degli array.
Domande Frequenti
La lezione «Funzioni della libreria table» è gratuita?
Sì — il testo completo di «Funzioni della libreria table» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Lua Academy, passa a CoddyKit PRO. Il corso Lua Academy include 4 lezioni in totale.
Cosa imparerò in «Funzioni della libreria table»?
Applichi table.insert, remove, sort, concat, move e unpack. Eserciti Lua Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Lua Academy?
Non è richiesta alcuna esperienza precedente. Lua Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Funzioni della libreria table»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Lua Academy?
Sì. Ogni lezione Lua Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Funzioni della libreria math
- Funzioni della libreria table
- Librerie os e io
- La libreria debug