Bedingte Ausdrücke: if... then...else (F#)
Der if...then...else-Ausdruck führt unterschiedliche Verzweigungen von Codes aus und ergibt je nach dem angegebenen booleschen Ausdruck einen anderen Wert.
if Boolean-expression then expression1 [ else expression2 ]
Hinweise
In obiger Syntax wird expression1 ausgeführt, wenn der boolesche Ausdruck true ergibt, andernfalls wird expression2 ausgeführt.
Das if...then...else-Konstrukt ist nicht wie in anderen Sprachen eine Anweisung, sondern ein Ausdruck.Dies bedeutet, dass das Konstrukt einen Wert erzeugt, und zwar den Wert des letzten Ausdrucks in der ausgeführten Verzweigung.Die Typen der in den einzelnen Verzweigungen erzeugten Werte müssen übereinstimmen.Wenn keine explizite else-Verzweigung vorhanden ist, ist ihr Typ unit.Wenn der Typ der then-Verzweigung ein anderer Typ als unit ist, muss eine else-Verzweigung mit dem gleichen Rückgabetyp vorhanden sein.Beim Verketten von if...then...else-Ausdrücken können Sie statt elseif das Schlüsselwort elif verwenden. Die Schlüsselwörter sind äquivalent.
Beispiel
Im folgenden Beispiel wird die Verwendung des if...then...else-Ausdrucks veranschaulicht.
let test x y =
if x = y then "equals"
elif x < y then "is less than"
else "is greater than"
printfn "%d %s %d." 10 (test 10 20) 20
printfn "What is your name? "
let nameString = System.Console.ReadLine()
printfn "What is your age? "
let ageString = System.Console.ReadLine()
let age = System.Int32.Parse(ageString)
if age < 10
then printfn "You are only %d years old and already learning F#? Wow!" age