If - Then
Bis jetzt nutzten wir immer nur eine einzelne Zeile. Nun nehmen wir einen sogenannten "Block" dazu, welcher mit einem Tabulator eingerückt wird.
If
A block is indented with a tabulator.
If( 4 == 3+1 )
Print "Ist wahr"
Dies lässt sich nun wie folgt lesen: Wenn 4 gleich 3+1 ist, dann gib "Ist wahr" aus.
Da "If" immer einen Wahrheitswert benötigt, lässt sich auch direkt "true" oder "false" übergeben:
If( true )
Print "Ja, das ist wahr"
Hier lernen wir nun den Typ "Bool" kennen. Ein boolscher Wert kann entweder ja/wahr oder nein/unwahr sein. Erzeugt werden sie mit den Literalen "true" (wahr) und "false" (nicht wahr).
Was passiert nun, wenn wir im vorherigen Beispiel das "true" durch ein "false" ersetzen? Probieren wir es aus:
If( false )
Print "Nein, das ist nicht wahr"
Leider wird hier kein Text ausgegeben. Der Block wird nur bei "true" abgearbeitet.
Hier lassen sich auch Variablen verwenden:
b = true
If( b )
Print "Ja, das ist wahr"
a = 3
If( a > 1 )
Print "Ja, der Wert in 'a' ist größer als 1"
Otherwise
Wenn der übergebene Wert "false" ist, so wird der Block nicht ausgeführt. Es lässt sich aber eine Alternative anhängen, die bei "false" ausgeführt werden soll:
If( false )
Print "Ja, das ist wahr"
.else
Print "Nein, das ist nicht wahr"
Hier wird nun der zweite Satz ausgegeben. Hier nutzen wir ".else", welches eine Funktion von "If" ist.
Wir können dies lesen wie: "Wenn der Wert wahr ist, mach dies, ansonsten mach das."
Das ".else" wird, auf der selben Ebene, mit dem Punkt an das "If" angehängt.
If not
As a counterpart to "If" there still exists "IfNot". Here it is checked whether the passed argument is "false".
IfNot( 5 == 'a' )
Print "Dies ist definitiv nicht vergleichbar"
If not
Manchmal müssen mehrere If-Abfragen aneinander gekettet werden.
Wenn X==Y, dann das, ansonsten wenn X==Z, dann das, ansonsten ...
The ".else" function can be passed another check as an argument:
a = 4
If( a == 1 )
Print "Ist eins"
.else( a == 2 )
Print "Ist zwei"
.else( a <= 5 )
Print "ist kleiner oder gleich 5"
.else
Print "ist irgendetwas anderes"