Menu
CoddyTech

¿Por qué usar variables locales?

Parte de la sección Fundamentos del Journey de Lua de Coddy. Lección 85 de 90.

Cómo evitar conflictos de nombres: La ventaja más importante de las variables locales es que evitan que sobrescribas accidentalmente otras variables con el mismo nombre. Cuando usas variables globales en todo el programa, es fácil reutilizar accidentalmente un nombre de variable y cambiar un valor que no pretendías modificar.

score = 100  -- la puntuación del jugador

function countEnemies()
    score = 0  -- pensado como contador solo para esta función
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 3: ¡se sobrescribió la puntuación del jugador!

La función debía usar su propio contador, pero como score es global, cambió la puntuación del jugador en su lugar. Añadir local le da a la función una variable independiente que existe solo dentro de ella:

function countEnemies()
    local score = 0  -- una variable nueva, solo dentro de esta función
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 100: la variable global score no se modifica

Con las variables locales, cada función y bloque tiene sus propias variables independientes, por lo que el código de un lugar no puede cambiar accidentalmente los valores que se usan en otro.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Lua online