0Pricing
Lua Academy · Aula

Vetores como tabelas

Indexação baseada em 1 em Lua.

Vetores como tabelas é uma aula grátis de Lua Academy no CoddyKit. Esta é a aula 1 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.

As tabelas são as listas do Lua

Lua tem um único tipo de contêiner: a tabela. Quando você armazena valores em ordem, a tabela funciona como uma matriz ou lista.

Você pode criar uma tabela vazia com {} e preenchê-la depois, ou listar os valores imediatamente dentro das chaves.

local fruits = {"apple", "banana", "cherry"}
print(fruits)

A indexação começa em 1

Esta é a regra mais importante: as matrizes de Lua são baseadas em 1. O primeiro item fica no índice 1, não no 0.

Use colchetes para ler um elemento pela posição que ele ocupa.

local fruits = {"apple", "banana", "cherry"}
print(fruits[1])
print(fruits[2])
print(fruits[3])

O índice zero fica vazio

Como a contagem começa em 1, a posição 0 normalmente não contém nada.

Ler um índice que nunca foi definido retorna nil. Iniciantes que vêm de outras linguagens costumam se confundir com isso.

local colors = {"red", "green", "blue"}
print(colors[0])
print(colors[1])

Escrevendo um elemento

Atribua a uma posição usando a sintaxe de colchetes para definir ou substituir um valor.

Aqui, substituímos o segundo item. A alteração ficará visível na próxima vez que lermos esse índice.

local scores = {10, 20, 30}
scores[2] = 99
print(scores[2])

Construindo uma tabela passo a passo

Você pode começar com uma tabela vazia e adicionar itens em índices consecutivos. Lembre-se de começar em 1 para manter uma sequência organizada.

Uma sequência não tem lacunas: os índices 1, 2 e 3 estão todos preenchidos.

local nums = {}
nums[1] = 5
nums[2] = 10
nums[3] = 15
print(nums[1], nums[2], nums[3])

Tipos de valores mistos

Uma tabela de Lua pode conter valores de tipos diferentes na mesma sequência: números, textos e valores booleanos.

Lua não exige que todos os elementos tenham o mesmo tipo, como algumas linguagens fazem.

local mixed = {42, "hello", true}
print(mixed[1])
print(mixed[2])
print(mixed[3])

Imprimindo todos os itens

Para exibir todos os elementos, percorra os índices a partir de 1 usando um laço numérico for.

Você conhecerá uma forma mais simples (ipairs) em uma lição posterior, mas o laço deixa evidente o intervalo baseado em 1.

local pets = {"cat", "dog", "fish"}
for i = 1, 3 do
  print(i, pets[i])
end

Tabelas aninhadas

Um elemento de uma tabela pode ser outra tabela. Isso permite criar linhas, grades ou dados agrupados.

Encadeie colchetes para acessar o interior: grid[1][2] lê a linha 1, coluna 2 (ambas baseadas em 1).

local grid = {
  {1, 2, 3},
  {4, 5, 6}
}
print(grid[1][2])
print(grid[2][3])

Primeiro e último pela posição

O primeiro item está sempre em list[1]. Em uma sequência de tamanho conhecido, o último fica na posição correspondente a essa quantidade.

Aqui, três itens significam que o último está no índice 3.

local week = {"Mon", "Tue", "Wed"}
print("first:", week[1])
print("last:", week[3])

Alterando valores no local

Tabelas são mutáveis. Você pode atualizar qualquer posição existente sem reconstruir a lista inteira.

A seguir, aumentamos cada pontuação reatribuindo cada índice em um laço.

local scores = {1, 2, 3}
for i = 1, 3 do
  scores[i] = scores[i] + 10
end
print(scores[1], scores[2], scores[3])

Tabelas como registros e matrizes

O mesmo tipo tabela também armazena chaves nomeadas, como person.name. Quando as chaves são os inteiros 1, 2, 3..., chamamos isso de sequência ou matriz.

Esta lição se concentra no estilo de sequência, com chaves numéricas baseadas em 1.

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

Verificação rápida

Teste sua compreensão da indexação em Lua.

Recapitulação

Você aprendeu que Lua usa tabelas como matrizes e que a indexação é baseada em 1: o primeiro item está em [1].

Você pode ler, escrever e aninhar elementos de tabelas, e uma sequência organizada não tem lacunas. Em seguida, você adicionará e removerá itens dinamicamente.

Perguntas Frequentes

A aula “Vetores como tabelas” é grátis?

Sim — o texto completo de “Vetores como tabelas” é 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 “Vetores como tabelas”?

Indexação baseada em 1 em Lua. 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 1 de 4.

Quanto tempo leva a aula “Vetores como tabelas”?

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