Menu
CoddyTech

Por que usar variáveis locais?

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

Como evitar conflitos de nomes: O benefício mais importante das variáveis locais é que elas impedem que você sobrescreva acidentalmente outras variáveis com o mesmo nome. Quando você usa variáveis globais em todo o programa, é fácil reutilizar acidentalmente o nome de uma variável e alterar um valor que não pretendia modificar.

score = 100  -- a pontuação do jogador

function countEnemies()
    score = 0  -- deveria servir como contador apenas para esta função
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 3: a pontuação do jogador foi sobrescrita!

A função deveria usar seu próprio contador, mas, como score é global, ela alterou a pontuação do jogador. Adicionar local dá à função uma variável separada, que existe apenas dentro dela:

function countEnemies()
    local score = 0  -- uma nova variável, apenas dentro desta função
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 100: a variável global score permanece inalterada

Com variáveis locais, cada função e bloco tem suas próprias variáveis separadas, então o código em um lugar não pode alterar acidentalmente valores usados em outro lugar.

Experimente você mesmo

Esta lição não inclui um desafio de código.

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