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ändertProbier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren 2: Vergleichs- und logische Operatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorKurzschlussauswertungTruthy- und Falsy-WerteRückblick – Einfache Logik7Grundlegende bedingte Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungWiederholung – Schatztruhe2Variablen und Datentypen
Was ist eine Variable?ZahlenZeichenkettenBoolesche WerteDer Wert „nil“Die Funktion type()NamenskonventionenRückblick – Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring()-FunktionEingabeTypumwandlungRückblick – StatusberichtRückblick – Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Rückblick – Benutzernamen formatieren11Tabellen 2: Wörterbuchstil
Schlüssel-Wert-PaareTabellen im Wörterbuchstil erstellenZugriff – KlammernotationZugriff mit PunktnotationPaare hinzufügen und ändernPaare mit nil entfernenRückblick – Eigenschaften von Elementen14Variablenbereich
Globale VariablenLokale VariablenWarum lokale Variablen verwenden?Gültigkeitsbereich und BlöckeRückblick – Rätsel zum Gültigkeitsbereich3Operatoren 1: Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorVerkettung von ZeichenkettenRangfolge der OperatorenWiederholung – Einfache Berechnungen6Projekt: Charakterwerte anzeigen
WillkommensnachrichtCharakterwerte deklarieren9Grundlagen von Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie Anweisung „return“Zusammenfassung – Flächenrechner12Grundlagen der Schleifen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie Anweisung „break“Rückblick – Countdown15Abschließende Herausforderungen
Wiederholung – SpielzugWiederholung – Einfache DatenbankWiederholung – Summe gerader ZahlenÜbe selbstständig: Online-Lua-Compiler