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!