Menu
Coddy logo textTech

Removendo Pares com nil

Parte da seção Fundamentals do Journey de Lua da Coddy — lição 69 de 90.

Quando você atribui nil a uma chave, o Lua efetivamente remove esse par chave-valor da tabela:

local settings = {
    ["volume"] = 80,
    ["difficulty"] = "normal",
    ["music"] = true
}

-- Remover a configuração de dificuldade
settings.difficulty = nil

-- Agora a chave difficulty não existe mais na tabela

Você pode usar tanto a notação de ponto quanto a notação de colchetes para remover um par chave-valor. Ambas settings.difficulty = nil e settings["difficulty"] = nil funcionam exatamente da mesma maneira.

Após atribuir nil a uma chave, essa chave desaparece completamente da tabela. Se você tentar acessá-la mais tarde, você obterá nil como resultado, exatamente como se a chave nunca tivesse existido.

challenge icon

Desafio

Fácil

Crie um sistema de configuração de jogo que demonstre a remoção de configurações indesejadas de uma tabela do tipo dicionário. Comece criando uma tabela chamada gameConfig com os seguintes pares de chave-valor: ["graphics"] deve receber a string "high", ["sound"] deve receber o número 75, ["difficulty"] deve receber a string "normal" e ["debug"] deve receber o booleano true.

Após criar a tabela de configuração inicial, remova a configuração debug atribuindo nil a ela usando a notação de ponto. Em seguida, imprima a configuração de som restante para verificar se a tabela ainda contém os outros valores.

Folha de consulta

Para remover um par chave-valor de uma tabela, atribua nil à chave:

local settings = {
    ["volume"] = 80,
    ["difficulty"] = "normal",
    ["music"] = true
}

-- Remover a configuração de dificuldade
settings.difficulty = nil

Você pode usar tanto a notação de ponto quanto a notação de colchetes:

settings.difficulty = nil
settings["difficulty"] = nil

Após atribuir nil, a chave desaparece completamente da tabela. Acessá-la retorna nil.

Experimente você mesmo

-- TODO: Escreva seu código aqui
-- Crie a tabela gameConfig com os pares chave-valor necessários
-- Remova a configuração debug usando a notação de ponto
-- Imprima a configuração sound
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 Fundamentals