Menu
CoddyTech

Warum lokale Variablen verwenden?

Teil des Abschnitts Grundlagen der Lua-Journey von Coddy. Lektion 85 von 90.

Namenskonflikte vermeiden: Der wichtigste Vorteil lokaler Variablen ist, dass sie verhindern, dass du versehentlich andere Variablen mit demselben Namen überschreibst. Wenn du in deinem gesamten Programm globale Variablen verwendest, kann es leicht passieren, dass du versehentlich einen Variablennamen wiederverwendest und einen Wert änderst, den du gar nicht ändern wolltest.

score = 100  -- der Punktestand des Spielers

function countEnemies()
    score = 0  -- nur als Zähler für diese Funktion gedacht
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 3: Der Punktestand des Spielers wurde überschrieben!

Die Funktion sollte ihren eigenen Zähler verwenden, aber da score global ist, änderte sie stattdessen die Punktzahl des Spielers. Durch das Hinzufügen von local erhält die Funktion eine separate Variable, die nur innerhalb der Funktion existiert:

function countEnemies()
    local score = 0  -- eine neue Variable, nur innerhalb dieser Funktion
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 100: der globale score bleibt unverändert

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Lua-Compiler