Pillole di F#: una sintassi "light"

Il linguaggio F# non richiede simboli o parole specifici per l’inizio e la fine di blocchi di codice, grazie soprattutto alla direttiva #light che è “on” in modo predefinito.

In VB.NET, per esempio, dobbiamo utilizzare parole riservate specifiche come Sub … End Sub, Function … End Function, Class … End Class, For … Next e così via. In C# abbiamo invece l’ampio uso di parentesi graffe di apertura e di chiusura.

In F# tutto questo non serve, perché i blocchi di codice sono identificati semplicemente con il numero di spazi con cui inizia una riga, cioè con la cosiddetta “indentazione“.

Per esempio, vediamo il seguente codice:

let words = [| "Red"; "Lorry"; "Yellow"; "Lorry" |]
for word in words do
   printfn "%s" word

Nella prima riga definiamo un array di stringhe

Nella seconda riga definiamo un ciclo for, per leggere i singoli elementi dell’array e nella terza riga stampiamo a video ciascun valore.

La terza riga fa parte del blocco di codice definito dalla seconda riga, ma non c’è una riga che chiude il ciclo perché non serve. Infatti la terza riga è spostata a destra di due caratteri e questo fa sì che F# sappia che l’istruzione è interna al ciclo for definito nella seconda riga.

La cosa importante è quella di non utilizzare le tabulazioni per definire questi spazi, è meglio usare i caratteri “spazio” veri e propri, perché le tabulazioni possono essere visualizzate in modo diverso in diverse configurazioni e questo può dare problemi.

Per evitare problemi di questo tipo e utilizzare ugualmente le tabulazioni, andate nelle opzioni di Visual Studio (menu Strumenti > Opzioni ), aprite la scheda Editor di Testo > F# > Tabulazioni, e impostate Inserisci spazi invece di Mantieni tabulazioni:

SNAGHTML314e12a

(Finestra Opzioni di Visual Studio 2012)

Pubblicato il 10 giugno 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: