Bedingte Ausdrücke: if...then...else
Der if...then...else
-Ausdruck führt verschiedene Verzweigungen des Codes aus und wird je nach dem angegebenen booleschen Ausdruck auch mit einem anderen Wert ausgewertet.
Syntax
if boolean-expression then expression1 [ else expression2 ]
Bemerkungen
In der vorherigen Syntax wird expression1 ausgeführt, wenn der boolesche Ausdruck mit true
ausgewertet wird. Andernfalls wird expression2 ausgeführt.
Wie in anderen Sprachen kann das if...then...else
-Konstrukt verwendet werden, um Code bedingt auszuführen. In F# ist if...then...else
ein Ausdruck und generiert einen Wert gemäß der Verzweigung, die ausgeführt wird. Die Typen der Ausdrücke in jeder Verzweigung müssen übereinstimmen.
Wenn keine explizite else
-Verzweigung vorhanden ist, ist unit
der Gesamttyp, und der Typ der then
-Verzweigung muss auch unit
sein.
Beim Verketten von if...then...else
-Ausdrücken können Sie das Schlüsselwort elif
anstelle von else if
verwenden, da sie gleichwertig sind.
Beispiel
Das folgende Beispiel veranschaulicht, wie der if...then...else
-Ausdruck verwendet wird.
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
10 is less than 20
What is your name? John
How old are you? 9
You are only 9 years old and already learning F#? Wow!