Espressioni condizionali: if...then...else
L'espressione if...then...else
esegue rami di codice diversi e restituisce anche un valore diverso a seconda dell'espressione booleana specificata.
Sintassi
if boolean-expression then expression1 [ else expression2 ]
Osservazioni:
Nella sintassi precedente expression1 viene eseguita quando l'espressione booleana restituisce true
; in caso contrario, expression2 viene eseguito.
Analogamente ad altri linguaggi, il if...then...else
costrutto può essere usato per eseguire il codice in modo condizionale. In F# if...then...else
è un'espressione e produce un valore dal ramo eseguito. I tipi di espressioni in ogni ramo devono corrispondere.
Se non è presente alcun ramo esplicito else
, il tipo complessivo è unit
e anche il then
tipo del ramo deve essere unit
.
Quando si concatenano if...then...else
le espressioni, è possibile usare la parola chiave elif
anziché else if
. Sono equivalenti.
Esempio
Nell'esempio seguente viene illustrato come usare l'espressione 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!