Bedingungen
have_coins = falseif have_coins print "Münzen erhalten"else print "Keine Münzen"have_coins = falseif have_coins print "Münzen erhalten"else print "Keine Münzen"Eine Kurzsyntax für einzelne Anweisungen kann ebenfalls verwendet werden:
have_coins = falseif have_coins then print "Münzen erhalten" else print "Keine Münzen"have_coins = falseif have_coins then print "Münzen erhalten" else print "Keine Münzen"Da if-Anweisungen als Ausdrücke verwendet werden können, kann man das auch so schreiben:
have_coins = falseprint if have_coins then "Münzen erhalten" else "Keine Münzen"have_coins = falseprint if have_coins then "Münzen erhalten" else "Keine Münzen"Bedingungen können auch in return-Anweisungen und Zuweisungen verwendet werden:
is_tall = (name) -> if name == "Rob" true else false
message = if is_tall "Rob" "Ich bin sehr groß"else "Ich bin nicht so groß"
print message -- gibt aus: Ich bin sehr großis_tall = (name) -> if name == "Rob" true else false
message = if is_tall "Rob" "Ich bin sehr groß"else "Ich bin nicht so groß"
print message -- gibt aus: Ich bin sehr großDas Gegenteil von if ist unless:
unless os.date("%A") == "Monday" print "Es ist nicht Montag!"unless os.date("%A") == "Monday" print "Es ist nicht Montag!"print "You're lucky!" unless math.random! > 0.1print "You're lucky!" unless math.random! > 0.1In-Ausdruck
Abschnitt betitelt „In-Ausdruck“Mit einem in-Ausdruck kannst du Bereichsprüfungen schreiben.
a = 5
if a in [1, 3, 5, 7] print "Gleichheitsprüfung mit diskreten Werten"
if a in list print "Prüfen, ob `a` in einer Liste ist"a = 5
if a in [1, 3, 5, 7] print "Gleichheitsprüfung mit diskreten Werten"
if a in list print "Prüfen, ob `a` in einer Liste ist"Der in-Operator kann auch mit Tabellen verwendet werden und unterstützt die Variante not in für Verneinungen:
has = "foo" in {"bar", "foo"}
if a in {1, 2, 3} print "a ist in der Tabelle"
not_exist = item not in list
check = -> value not in tablehas = "foo" in {"bar", "foo"}
if a in {1, 2, 3} print "a ist in der Tabelle"
not_exist = item not in list
check = -> value not in tableEine Ein-Element-Liste oder Tabelle prüft auf Gleichheit mit diesem Element:
-- [1,] prüft, ob wert == 1c = a in [1,]
-- {1} prüft auch, ob wert == 1c = a in {1}
-- Ohne Komma ist [1] ein Indexzugriff (tb[1])with tb c = a in [1]-- [1,] prüft, ob wert == 1c = a in [1,]
-- {1} prüft auch, ob wert == 1c = a in {1}
-- Ohne Komma ist [1] ein Indexzugriff (tb[1])with tb c = a in [1]