Menu
Coddy logo textTech

Declarando e Acessando Maps

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

Declarar um mapa tipado se parece com os construtores de tabela que você sempre escreveu: a anotação apenas fixa os tipos das chaves e dos valores:

local stock: {[string]: number} = {apples = 12, bananas = 5}

A leitura e a escrita usam a indexação que você já conhece. Para chaves que são identificadores válidos, stock.apples e stock["apples"] acessam a mesma entrada; a forma com colchetes também lida com chaves que contêm espaços ou que estão armazenadas em variáveis:

stock["cherries"] = 20   -- adiciona uma nova entrada
stock.bananas = 8        -- atualiza uma existente
print(stock["apples"])  -- 12
print(stock["plums"])   -- nil — nunca definido

O verificador de tipos acompanha cada escrita: stock["apples"] = "many" é sinalizado porque "many" não é um número, e usar um número como chave é sinalizado porque as chaves devem ser strings.

Para excluir uma entrada, atribua nil à chave: stock["bananas"] = nil a remove completamente, e as leituras posteriores retornam nil. Não existe uma função de exclusão separada; esse é o idioma padrão de Lua, e ele continua sendo verificado pelo sistema de tipos em um mapa.

challenge icon

Desafio

Fácil

Crie um mapa tipado stock: {[string]: number} inicializado com apples = 12 e bananas = 5. Em seguida:

  1. adicione uma nova entrada cherries com o valor 20
  2. atualize bananas para 8

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

  1. o estoque de apples
  2. o estoque de bananas
  3. o estoque de cherries
  4. o estoque de plums: uma chave que você nunca definiu

Experimente você mesmo

-- Escreva o código aqui
-- 1) declare stock: {[string]: number} com apples = 12, bananas = 5
-- 2) adicione cherries = 20, atualize bananas para 8
-- 3) imprima apples, bananas, cherries, depois plums
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