Villkorsstyrda uttryck: if...then...else
Uttrycket if...then...else
kör olika grenar av kod och utvärderas även till ett annat värde beroende på det booleska uttrycket som anges.
Syntax
if boolean-expression then expression1 [ else expression2 ]
Kommentarer
I föregående syntax körs expression1 när det booleska uttrycket utvärderas till true
, annars körs expression2.
Precis som andra språk kan konstruktionen if...then...else
användas för att villkorligt köra kod. I F# if...then...else
är ett uttryck och skapar ett värde av grenen som körs. Typerna av uttrycken i varje gren måste matcha.
Om det inte finns någon explicit else
gren är unit
den övergripande typen , och grentypen then
måste också vara unit
.
När du kopplar if...then...else
ihop uttryck kan du använda nyckelordet elif
i stället för else if
; de är likvärdiga.
Exempel
I följande exempel visas hur du använder uttrycket if...then...else
.
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!