Lokale Variablen
Teil des Abschnitts Grundlagen der Lua-Journey von Coddy. Lektion 84 von 90.
Lua stellt das Schlüsselwort local bereit, um Variablen mit begrenztem Gültigkeitsbereich zu erstellen. Wenn du eine Variable mit local deklarierst, kann nur innerhalb des spezifischen Blocks auf sie zugegriffen werden, in dem sie erstellt wurde.
So erstellst du eine lokale Variable:
local playerHealth = 100
local isGameActive = trueDer entscheidende Unterschied besteht darin, dass lokale Variablen auf ihren Block beschränkt sind. Wenn du zum Beispiel innerhalb eines do...end-Blocks eine lokale Variable erstellst, kann außerhalb dieses Blocks nicht auf sie zugegriffen werden:
do
local secretCode = 1234
print(secretCode) -- Das funktioniert
end
print(secretCode) -- gibt nil aus: Die lokale Variable existiert hier nicht mehrAußerhalb ihres Blocks verweist der Name auf eine globale Variable, der nie ein Wert zugewiesen wurde. Deshalb gibt Lua nil statt eines Fehlers zurück.
Aufgabe
EinfachErstelle einen do...end-Block und deklariere darin eine lokale Variable namens secretMessage mit dem Wert "Hidden data". Gib innerhalb desselben Blocks den Wert von secretMessage aus.
Nachdem der do...end-Block beendet ist, versuche erneut, secretMessage auszugeben. Da lokale Variablen auf ihren Blockbereich beschränkt sind, gibt diese zweite Ausgabeanweisung nil aus, weil außerhalb des Blocks nicht mehr auf die Variable zugegriffen werden kann.
Probier es selbst
-- TODO: Schreibe deinen Code hier
-- Erstelle einen do...end-Block mit der lokalen Variable secretMessage
-- Gib secretMessage innerhalb des Blocks aus
-- Versuche dann, secretMessage außerhalb des Blocks auszugebenDiese 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