F# in pillole: Unit Type ovvero ()

Nella programmazione funzionale deve essere sempre restituito un valore. Tuttavia ci sono alcuni casi in cui il valore non c’è, per esempio quando utilizziamo la funzione printf. In questi casi, in fase di compilazione riceviamo un warning, cioè un avvertimento di possibile errore.

Per risolvere in modo pulito queste situazioni, possiamo utilizzare il tipo unit che è rappresentato da una coppia di parentesi tonde, cioè (). La restituzione di uno unit equivale più o meno al void di altri linguaggi.

In F# non c’è il concetto di Null, non esiste un valore o meglio un “non-valore” nullo, mentre esiste il tipo unit che fornisce un unico valore: ().

Un codice di esempio che rappresenta quanto detto è questo:

// con questo codice si ottiene un warning in compilazione:
let function1 x y = x + y
function1 10 20 

// questo è invece valido e restituisce uno unit = ()
let result = function1 10 20
function1 10 20 |> ignore

L’operatore |> indica un “pipe”, ovvero un redirezionamento del risultato verso un’altra funzione o verso un’output. In questo caso si ottiene uno unit.

Anche se F# permette l’utilizzo di funzioni/istruzioni non prettamente funzionali, è opportuno utilizzare il paradigma funzionale in tutti i casi in cui è possibile, per poter ottenere un codice il più possibile sicuro e “pulito”.

Pubblicato il 10 luglio 2015 su Novità. Aggiungi ai preferiti il collegamento . Lascia un commento.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: