Compartilhar via


Expressões condicionais: if...then...else (F#)

O if...then...else expressão executa diferentes ramificações do código e também é avaliada como um valor diferente de acordo com a expressão booleana fornecido.

if Boolean-expression then expression1 [ else expression2 ]

Comentários

Na sintaxe anterior, expression1 é executado quando a expressão booleana for avaliada como true; Caso contrário, expression2 é executado.

Ao contrário em outros idiomas, o if...then...else construção é uma expressão, não uma instrução. Isso significa que ele produz um valor, que é o valor da última expressão na ramificação que executa. Os tipos dos valores produzidos em cada ramificação devem corresponder. Se houver explícita não else ramificação, seu tipo é unit. Portanto, se o tipo da then ramificação for qualquer tipo diferente de unit, deve haver uma else ramificação com o mesmo tipo de retorno. Ao encadear if...then...else expressões juntas, você pode usar a palavra-chave elif em vez de elseif; eles são equivalentes.

Exemplo

O exemplo a seguir ilustra como usar o 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
       

Consulte também

Outros recursos

Referência da linguagem F#