Rückblick – Scope-Rätsel
Teil des Abschnitts Fundamentals der Lua-Journey von Coddy — Lektion 87 von 90.
Aufgabe
EinfachAnalysiere den folgenden Code-Ausschnitt und sage voraus, was von jeder print-Anweisung ausgegeben wird. Erstelle Variablen, um deine Vorhersagen zu speichern, und gib sie dann in der richtigen Reihenfolge aus.
Hier ist der zu analysierende Code:
gameScore = 100
function updateScore()
local gameScore = 250
print(gameScore)
end
do
local gameScore = 75
updateScore()
print(gameScore)
end
print(gameScore)Erstelle drei Variablen, um deine Vorhersagen zu speichern:
firstOutput– was die ersteprint-Anweisung ausgeben wirdsecondOutput– was die zweiteprint-Anweisung ausgeben wirdthirdOutput– was die dritteprint-Anweisung ausgeben wird
Gib dann deine drei Vorhersagen nacheinander aus, jede in einer eigenen Zeile.
Probier es selbst
-- Erstelle Variablen, um deine Vorhersagen zu speichern
local firstOutput = -- TODO: Analysiere die erste print-Anweisung und weise den vorhergesagten Wert zu
local secondOutput = -- TODO: Analysiere die zweite print-Anweisung und weise den vorhergesagten Wert zu
local thirdOutput = -- TODO: Analysiere die dritte print-Anweisung und weise den vorhergesagten Wert zu
-- Gib deine Vorhersagen in der richtigen Reihenfolge aus
print(firstOutput)
print(secondOutput)
print(thirdOutput)Alle Lektionen in Fundamentals
4Operatoren 2: Vergleichs- & Logikoperatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorShort-Circuit EvaluationTruthy- und Falsy-WerteZusammenfassung – Einfache Logik7Grundlagen der bedingten Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungZusammenfassung – Schatzkiste10Tabellen Teil 1: Listen-Stil
Was ist eine Tabelle?Eine Tabelle erstellenZugriff auf Elemente per IndexElemente per Index ändernDer Längenoperator '#'table.insert()table.remove()Zusammenfassung - Gruppenmitglieder verwalten13Projekt: Einfacher Zaubertrank-Laden
Projekt-SetupEinen Trank hinzufügen2Variablen und Datentypen
Was ist eine Variable?ZahlenStringsBooleansDer Wert 'nil'Die type()-FunktionNamenskonventionenZusammenfassung - Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring() FunktionEingabeCastWiederholung - StatusberichtWiederholung - Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Wiederholung - Benutzernamen formatieren11Tabellen 2: Dictionary-Stil
Schlüssel-Wert-PaareDictionary-Stil Tabellen erstellenZugriff – KlammerschreibweiseZugriff mit PunktnotationPaare hinzufügen und ändernPaare mit nil entfernenWiederholung – Elementeigenschaften14Gültigkeitsbereich von Variablen
Globale VariablenLokale VariablenWarum lokale Variablen verwenden?Gültigkeitsbereich und BlöckeRückblick – Scope-Rätsel3Operatoren 1 Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorString-VerkettungOperatorrangfolgeRückblick - Einfache Berechnungen6Projekt: Charakter-Stats Anzeige
WillkommensnachrichtCharakter-Stats deklarieren9Grundlagen der Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie 'return'-AnweisungZusammenfassung - Flächenrechner12Schleifen-Grundlagen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie 'break'-AnweisungZusammenfassung - Countdown15Abschluss-Herausforderungen
Wiederholung – SpielerzugWiederholung – Einfache DatenbankWiederholung – Summe gerader Zahlen