Menu
Coddy logo textTech

Adicionando e Lendo Elementos

Parte da seção Introdução ao Luau do Journey de Lua da Coddy. Lição 14 de 73.

Você já aumenta e reduz tabelas Lua com table.insert e table.remove: ambos funcionam exatamente da mesma forma em arrays tipados. A diferença é que agora o Luau verifica o que você insere: inserir uma string em um array {number} é sinalizado enquanto você digita, em vez de ser descoberto por um jogador confuso durante a execução.

local queue: {string} = {"save", "load"}
table.insert(queue, "quit")      -- adiciona no final
table.insert(queue, 1, "help")   -- insere na posição 1, deslocando o resto
local last = table.remove(queue) -- remove E retorna o último elemento

table.remove(t) retira o último elemento e o devolve para você; table.remove(t, 1) remove o primeiro e desloca tudo para baixo. Como o array é tipado como {string}, o Luau sabe que o valor retornado é uma string.

A leitura é tão permissiva quanto no Lua comum: um índice que não contém nada, queue[0], queue[-1] ou qualquer coisa depois de #queue é avaliado silenciosamente como nil. Nenhum erro é gerado, portanto verifique se é nil antes de usar um valor cuja existência você não tem certeza.

Mais uma ferramenta para o seu arsenal: table.freeze(t) torna uma tabela somente leitura durante a execução: qualquer tentativa posterior de modificá-la gera um erro. É a solução do Luau para dados constantes (configuração, listas fixas de níveis) que nunca devem mudar após a criação.

challenge icon

Desafio

Fácil

Crie um array tipado queue: {string} inicializado com "save" e "load". Depois:

  1. adicione "<code>quit" com table.insert
  2. insira "<code>help" na posição 1
  3. remova o comando último com table.remove, armazenando o valor retornado

Por fim, imprima, cada um em sua própria linha:

  1. o comando removido
  2. quantos comandos permanecem
  3. o primeiro comando da fila
  4. queue[10]: um slot que não contém nada

Experimente você mesmo

-- Escreva o código aqui
-- 1) declare queue: {string} com "save" e "load"
-- 2) append o texto exato das instruções, insert o texto exato das instruções na posição 1
-- 3) remova o último comando, então imprima os quatro valores
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Introdução ao Luau

Pratique por conta própria: Compilador de Lua online