Expressões condicionais: if...then...else
A if...then...else
expressão executa diferentes ramificações de código e também é avaliada para um valor diferente, dependendo da expressão booleana dada.
Sintaxe
if boolean-expression then expression1 [ else expression2 ]
Observações
Na sintaxe anterior, expression1 é executado quando a expressão booleana é avaliada como true
; caso contrário, expression2 é executado.
Como outras linguagens, a if...then...else
construção pode ser usada para executar código condicionalmente. Em F#, if...then...else
é uma expressão e produz um valor pela ramificação que executa. Os tipos de expressões em cada ramificação devem corresponder.
Se não houver nenhuma ramificação explícita else
, o tipo geral é unit
, e o tipo da then
ramificação também deve ser unit
.
Ao encadear if...then...else
expressões, você pode usar a palavra-chave elif
em vez de else if
: elas são equivalentes.
Exemplo
O exemplo a seguir ilustra como usar a if...then...else
expressão.
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!