Expresiones condicionales: if...then...else

La expresión if...then...else ejecuta diferentes ramas de código y también se evalúa como un valor distinto según la expresión booleana especificada.

Sintaxis

if boolean-expression then expression1 [ else expression2 ]

Comentarios

En la sintaxis anterior, expression1 se ejecuta cuando la expresión booleana se evalúa como true; en caso contrario, expression2 se ejecuta.

Al igual que otros lenguajes, la construcción if...then...else se puede usar para ejecutar código condicionalmente. En F#, if...then...else es una expresión y genera un valor por la rama que se ejecuta. Los tipos de las expresiones de cada rama deben coincidir.

Si no hay ninguna rama else explícita, el tipo general es unit y el tipo de la rama then también debe ser unit.

Al encadenar expresiones if...then...else juntas, puede usar la palabra clave elif en lugar de else if; son equivalentes.

Ejemplo

En el ejemplo siguiente se muestra cómo utilizar la expresión 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!

Vea también