Lua Academy · Aula

Adicionando e removendo itens

Use table.insert e remove.

Aula 2 de 413 etapas

Adicionando e removendo itens é 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.

Aumentando uma sequência

Listas reais mudam de tamanho enquanto o programa é executado. Lua fornece table.insert para adicionar itens ao final.

Como as sequências são baseadas em 1, adicionar um item depois de dois itens o coloca no índice 3.

local list = {"a", "b"}
table.insert(list, "c")
print(list[1], list[2], list[3])

table.insert adiciona ao final

Quando chamada com dois argumentos, table.insert(t, value) coloca value na posição imediatamente posterior ao índice final atual.

Cada chamada aumenta a sequência em um item, mantendo os índices contíguos.

local q = {}
table.insert(q, "first")
table.insert(q, "second")
print(q[1], q[2])

Inserindo em uma posição

Com três argumentos, table.insert(t, pos, value) insere no índice pos e desloca os itens posteriores para cima.

Aqui, colocamos "X" na posição 2, então o antigo segundo item passa para a posição 3.

local list = {"a", "b", "c"}
table.insert(list, 2, "X")
print(list[1], list[2], list[3], list[4])

Inserindo no início

Para adicionar um item no início, insira-o na posição 1. Cada elemento existente é deslocado um índice para cima.

Isso é útil, mas mais lento para listas grandes, pois Lua precisa mover todos os itens.

local list = {"b", "c"}
table.insert(list, 1, "a")
print(list[1], list[2], list[3])

Removendo o último item

table.remove(t) com um argumento exclui e retorna o último elemento.

A sequência diminui em um item e continua sem lacunas.

local list = {"a", "b", "c"}
local gone = table.remove(list)
print("removed:", gone)
print(list[1], list[2], list[3])

Removendo em uma posição

table.remove(t, pos) exclui o item em pos e desloca os itens posteriores para baixo, fechando a lacuna.

Lembre-se de que as posições são baseadas em 1, então pos = 1 remove o primeiro elemento.

local list = {"a", "b", "c"}
local gone = table.remove(list, 1)
print("removed:", gone)
print(list[1], list[2])

remove retorna o valor

As duas formas de table.remove retornam o valor retirado, para que você possa usá-lo imediatamente.

Isso faz a tabela funcionar como uma pilha: insira com insert e retire com remove.

local stack = {}
table.insert(stack, 10)
table.insert(stack, 20)
local top = table.remove(stack)
print("popped:", top)

Uma fila simples

Insira no final e remova do início (pos = 1) para representar uma fila: o primeiro a entrar é o primeiro a sair.

Cada remoção desloca o restante para baixo, então o próximo item espera no índice 1.

local queue = {}
table.insert(queue, "Ann")
table.insert(queue, "Bob")
print("serving:", table.remove(queue, 1))
print("next:", queue[1])

Evite lacunas manuais

Definir um elemento como nil com list[2] = nil pode deixar uma lacuna no meio, interrompendo a sequência.

Prefira table.remove, que desloca os itens e mantém os índices contínuos.

local list = {"a", "b", "c"}
table.remove(list, 2)
print(list[1], list[2])

Construindo a partir da entrada

Um padrão comum é começar com uma tabela vazia e adicionar itens ao chegar dos dados.

Aqui, coletamos números pares em uma sequência nova usando insert.

local evens = {}
for n = 1, 6 do
  if n % 2 == 0 then
    table.insert(evens, n)
  end
end
print(evens[1], evens[2], evens[3])

Inserção e remoção em conjunto

Você pode combinar as operações livremente. A seguir, adicionamos três nomes e depois removemos o item do meio.

Depois da remoção, a lista tem dois itens contíguos.

local names = {}
table.insert(names, "Al")
table.insert(names, "Bea")
table.insert(names, "Cy")
table.remove(names, 2)
print(names[1], names[2])

Verificação rápida

Pense em como a remoção desloca a sequência.

Recapitulação

Você aprendeu a aumentar listas com table.insert (adicionando ao final ou inserindo em uma posição baseada em 1) e a reduzi-las com table.remove, que retorna o valor removido e fecha as lacunas.

Evite lacunas manuais com nil. Em seguida, você aprenderá a percorrer sequências de forma organizada com ipairs.

Grátis para começar

Aprenda Lua com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
40
Aulas
159

Perguntas Frequentes

A aula “Adicionando e removendo itens” é grátis?

Sim — o texto completo de “Adicionando e removendo itens” é 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 “Adicionando e removendo itens”?

Use table.insert e remove. 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 “Adicionando e removendo itens”?

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. Vetores como tabelas
  2. Adicionando e removendo itens
  3. Iterando com ipairs
  4. Tamanho e ordenação
← Voltar para Lua Academy