0Pricing
Lua Academy · Aula

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

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

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

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

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

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

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

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

Pergunta 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

  1. Funções da biblioteca math
  2. Funções da biblioteca table
  3. Bibliotecas os e io
  4. A biblioteca debug
← Voltar para Lua Academy