Zum Inhalt springen

If-Zuweisung

if- und elseif-Blöcke können eine Zuweisung anstelle eines Bedingungsausdrucks enthalten. Beim Auswerten der Bedingung findet die Zuweisung statt, und der zugewiesene Wert wird als Bedingung verwendet. Die zugewiesene Variable ist nur im Geltungsbereich des Bedingungsblocks verfügbar, d. h. sie ist nicht verfügbar, wenn der Wert nicht truthy ist. Für die Zuweisung musst du den “Walrus-Operator” := statt = verwenden.

if user := database.find_user "moon"
print user.name
if hello := os.getenv "hello"
print "Du hast hello", hello
elseif world := os.getenv "world"
print "Du hast world", world
else
print "nichts :("

If-Zuweisung mit mehreren Rückgabewerten. Nur der erste Wert wird geprüft, andere Werte bleiben im Scope.

if success, result := pcall -> "Ergebnis ohne Probleme erhalten"
print result -- Variable result ist im Scope
print "OK"

Du kannst if-Zuweisung auch in einer while-Schleife verwenden, um den Wert als Schleifenbedingung zu nutzen.

while byte := stream\read_one!
-- mit dem Byte etwas anfangen
print byte

YueScriptCompiler

Compiler wird geladen…