Menu
CoddyTech

Variáveis Locais

Parte da seção Fundamentos do Journey de Lua da Coddy. Lição 84 de 90.

Lua fornece a palavra-chave local para criar variáveis com escopo limitado. Quando você declara uma variável com local, ela só pode ser acessada dentro do bloco específico em que foi criada.

Veja como criar uma variável local:

local playerHealth = 100
local isGameActive = true

A principal diferença é que as variáveis locais ficam restritas ao seu bloco. Por exemplo, se você criar uma variável local dentro de um bloco do...end, ela não poderá ser acessada fora desse bloco:

do
    local secretCode = 1234
    print(secretCode)  -- Isso funciona
end
print(secretCode)  -- imprime nil: a variável local não existe mais aqui

Fora do bloco, o nome se refere a uma variável global que nunca foi definida, então Lua fornece nil em vez de um erro.

challenge icon

Desafio

Fácil

Crie um bloco do...end e declare dentro dele uma variável local chamada secretMessage com o valor "Hidden data". Dentro do mesmo bloco, imprima o valor de secretMessage.

Depois que o bloco do...end terminar, tente imprimir secretMessage novamente. Como as variáveis locais ficam restritas ao escopo do bloco, esta segunda instrução de impressão exibirá nil, pois a variável não estará mais acessível fora do bloco.

Experimente você mesmo

-- TODO: Escreva seu código aqui
-- Crie um bloco do...end com uma variável local secretMessage
-- Imprima secretMessage dentro do bloco
-- Depois, tente imprimir secretMessage fora do bloco
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 Fundamentos

Pratique por conta própria: Compilador de Lua online