F# If Then Else

In F# uno strumento molto utile e direi quasi indispensabile è l'espressione condizionale IF - THEN - ELSE. Vediamo subito un esempio:

// definisce se un numero è minore di 10
let num x = if (x < 10) then true else false

Come possiamo vedere in questo esempio se x è minore di 10 allora restituisce true (vero), altrimenti restituisce false (falso). In pratica le espressioni condizionali funzionano cosi; se if la condizione è vera (x < 10) allora esegui then, altrimenti se la condizione non è vera e quindi (x < 10) è falsa perché viene inserito un numero maggiore di 10, esegui else. Siccome F# è un linguaggio identato possiamo scrivere l'espressione condizionale in tre maniere affinché il compilatore non dia errore:

// primo metodo di identazione
let num x = if (x < 10)
----------- then true
----------- else false
// secondo metodo di identazione
let num x = if (x < 10) then true
----------- else false
// terzo metodo di identazione
let num_min_dieci x = if (x < 10) then true else false

Adesso vediamo un esempio più complesso per capire che l'uso di queste espressioni condizionali è molto vasto e si può applicare a praticamente tutte le situazioni dove ce ne sia bisogno

// programma che confronta se 2 numeri sono uguali
let num_uguali x y = if (x = y)
-------------------- then "i 2 numeri sono uguali"
-------------------- else "i 2 numeri non sono uguali"