Wyrażenia warunkowe: if...then...else
Wyrażenie if...then...else
uruchamia różne gałęzie kodu, a także oblicza inną wartość w zależności od podanego wyrażenia logicznego.
Składnia
if boolean-expression then expression1 [ else expression2 ]
Uwagi
W poprzedniej składni wyrażenie expression1 jest uruchamiane, gdy wyrażenie logiczne zwraca wartość true
; w przeciwnym razie wyrażenie2 jest uruchamiane.
Podobnie jak w przypadku innych języków if...then...else
konstrukcja może służyć do warunkowego wykonywania kodu. W języku F# if...then...else
jest wyrażeniem i generuje wartość przez wykonywaną gałąź. Typy wyrażeń w każdej gałęzi muszą być zgodne.
Jeśli nie ma jawnej else
gałęzi, ogólny typ to unit
, a typ then
gałęzi również musi mieć wartość unit
.
Podczas łączenia if...then...else
wyrażeń można użyć słowa kluczowego elif
else if
zamiast ; są one równoważne.
Przykład
W poniższym przykładzie pokazano, jak używać if...then...else
wyrażenia.
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!