Условные выражения: if...then...else
Выражение if...then...else
выполняет различные ветви кода, а также вычисляет другое значение в зависимости от логического выражения.
Синтаксис
if boolean-expression then expression1 [ else expression2 ]
Замечания
В предыдущем синтаксисе выражение 1 выполняется, когда логическое выражение вычисляетсяtrue
; в противном случае выполняется выражение 2.
Как и другие языки, if...then...else
конструкция может использоваться для условного выполнения кода. В F# if...then...else
выражение и создает значение в ветви, которая выполняется. Типы выражений в каждой ветви должны соответствовать.
Если нет явной else
ветви, общий тип должен unit
быть unit
и тип then
ветви.
При объединениях if...then...else
выражений можно использовать ключевое слово elif
вместо else if
них; они эквивалентны.
Пример
В следующем примере показано, как использовать 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!