0Pricing
Lua Academy · Lezione

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

table.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))     -- y

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

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

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

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

table.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: 3

Simulare 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,5

Domanda 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

  1. Funzioni della libreria math
  2. Funzioni della libreria table
  3. Librerie os e io
  4. La libreria debug
← Torna a Lua Academy