Koşullu İfadeler: if...then...else
İfade, farklı kod dalları çalıştırır ve verilen Boole ifadesine bağlı olarak if...then...else farklı bir değer olarak değerlendirilir.
Syntax
if boolean-expression then expression1 [ else expression2 ]
Açıklamalar
Önceki söz dizimsinde, Boole ifadesi değerlendirmesi olduğunda expression1 true çalışır; aksi takdirde ifade2 çalışır.
Diğer dillerden farklı olarak yapısı if...then...else bir ifadedir, deyim değildir. Bu, yürütülen dalda son ifadenin değeri olan bir değer ürettiği anlamına gelir. Her dalda üretilen değerlerin türleri eşleşmeli. Açık bir dal else yoksa, türü de 'dır. unit Bu nedenle, dal türü then dışında herhangi bir unit türse, aynı dönüş else türüne sahip bir dal olması gerekir. İfadeleri if...then...else zincirlerken yerine anahtar sözcüğünü elif else if kullanabilirsiniz; bunlar eşdeğerdir.
Örnek
Aşağıdaki örnek, ifadenin nasıl kullanıLl olduğunu if...then...else göstermektedir.
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!