Funções da biblioteca table
Aplique table.insert, remove, sort, concat, move e unpack.
Funções da biblioteca table é uma aula grátis de Lua Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Lua Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Lua Academy inclui 4 aulas no total.
O módulo table
O módulo table fornece funções para manipular tabelas Lua usadas como matrizes: insert, remove, sort, concat, move e unpack.
table.insert
table.insert(t, val) adiciona ao final. table.insert(t, pos, val) insere na posição indicada, deslocando os elementos seguintes para a direita.
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) remove e retorna o último elemento. table.remove(t, pos) remove o elemento da posição indicada e desloca os elementos para a esquerda.
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) ordena no próprio lugar. Sem cmp, usa <. O comparador deve definir uma ordenação fraca estrita.
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) une os elementos da matriz em uma string. Os elementos devem ser strings ou números.
local words = {"Hello", "world", "from", "Lua"}
print(table.concat(words, " ")) -- Hello world from Luatable.move
table.move(a1, f, e, t, a2) copia os elementos de a1[f..e] para a2, começando em t. Se a2 for omitida, copia os elementos dentro de 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) retorna os elementos de t[i] até t[j] como valores separados. Padrão: de 1 até #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(...) reúne os argumentos variáveis em uma tabela com um campo n contendo a quantidade total, incluindo nils.
local function allArgs(...)
local t = table.pack(...)
print("count:", t.n)
return t
end
allArgs(1, nil, 3) -- count: 3Simulando uma fila com insert/remove
Use table.insert para enfileirar no final e table.remove(t, 1) para desenfileirar no início (observe: custo O(n)).
Simulando uma pilha
Use table.insert para empilhar e table.remove (sem posição) para desempilhar — ambas são operações O(1).
table.move para deslocamento
Desloque todos os elementos uma posição para a esquerda usando table.move(t, 2, #t, 1) e, em seguida, atribua nil ao último elemento.
local t = {1,2,3,4,5}
table.move(t, 2, #t, 1)
t[#t] = nil
print(table.concat(t, ",")) -- 2,3,4,5Pergunta sobre a biblioteca table
O que table.pack(1, nil, 3) retorna?
Recapitulação: biblioteca table
A biblioteca table fornece insert, remove, sort, concat, move, unpack e pack. Juntas, essas funções atendem com eficiência às necessidades comuns de manipulação de matrizes.
Perguntas Frequentes
A aula “Funções da biblioteca table” é grátis?
Sim — o texto completo de “Funções da biblioteca table” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Lua Academy, atualize para CoddyKit PRO. O curso de Lua Academy inclui 4 aulas no total.
O que vou aprender em “Funções da biblioteca table”?
Aplique table.insert, remove, sort, concat, move e unpack. Você pratica Lua Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Lua Academy?
Nenhuma experiência prévia é necessária. Lua Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Funções da biblioteca table”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Lua Academy?
Sim. Cada aula de Lua Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Funções da biblioteca math
- Funções da biblioteca table
- Bibliotecas os e io
- A biblioteca debug