Truthy- und Falsy-Werte
Teil des Abschnitts Fundamentals der Lua-Journey von Coddy — Lektion 24 von 90.
Bei der Verwendung logischer Operatoren wie and, or und not muss Lua bestimmen, was in logischen Kontexten als „wahr“ oder „falsch“ gilt. Dieses Konzept wird als truthy and falsy values bezeichnet, und Lua handhabt dies anders als viele andere Programmiersprachen.
In Lua werden nur zwei Werte als falsy angesehen (in logischen Operationen als false behandelt):
print(false and "This won't print") -- false ist falsy
print(nil and "This won't print") -- nil ist falsyAlles andere in Lua wird als truthy angesehen (in logischen Operationen wie true behandelt). Dies schließt Werte ein, die Sie überraschen könnten, wenn Sie von anderen Sprachen kommen:
print(0 and "This will print") -- 0 ist in Lua truthy!
print("" and "This will print") -- Leerer String ist truthy!
print({} and "This will print") -- Leere Tabelle ist truthy!Spickzettel
In Lua werden nur zwei Werte als falsy angesehen (in logischen Operationen als false behandelt):
falsenil
Alles andere ist truthy, einschließlich:
0(anders als in vielen anderen Sprachen)- Leere Strings
"" - Leere Tabellen
{}
print(false and "Won't print") -- false ist falsy
print(nil and "Won't print") -- nil ist falsy
print(0 and "Will print") -- 0 ist truthy in Lua
print("" and "Will print") -- Leerer String ist truthyProbier 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 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