Iniziare con F #

Osservazioni

F # è un linguaggio "funzionale-primo". Puoi conoscere tutti i diversi tipi di espressioni , insieme alle funzioni .

Il compilatore F #, che è open source , compila i tuoi programmi in IL, il che significa che puoi usare il codice F # da qualsiasi linguaggio compatibile con .NET come C # ; ed eseguilo su Mono, .NET Core o .NET Framework su Windows.

Versioni

Versione Data di rilascio
1.x 2005-05-01
2.0 2010-04-01
3.0 2012-08-01
3.1 2013/10/01
4.0 2015/07/01

F # Interactive

F # Interactive, è un ambiente REPL che ti consente di eseguire codice F #, una riga alla volta.

Se hai installato Visual Studio con F #, puoi eseguire F # Interactive nella console digitando "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" . Su Linux o OS X, il comando è invece fsharpi , che dovrebbe essere in /usr/bin o in /usr/local/bin seconda di come hai installato F # - in entrambi i casi, il comando dovrebbe essere sul tuo PATH modo da poter basta digitare fsharpi .

Esempio di utilizzo interattivo di F #:

> let i = 1 // fsi prompt, declare i
- let j = 2 // declare j
- i+j // compose expression
- ;; // execute commands

val i : int = 1 // fsi output started, this gives the value of i
val j : int = 2 // the value of j
val it : int = 3 // computed expression

> #quit;; //quit fsi

Usa #help;; per un aiuto

Si prega di notare l'uso di ;; dire al REPL di eseguire qualsiasi comando precedentemente digitato.

Ciao mondo!

Questo è il codice per un semplice progetto di console, che stampa "Hello, World!" a STDOUT ed esce con un codice di uscita di 0

[<EntryPoint>]
let main argv = 
    printfn "Hello, World!"
    0 

Esempio di disaggregazione linea per linea:

  • [<EntryPoint>] - Un attributo .net che contrassegna "il metodo che usi per impostare il punto di ingresso" del tuo programma ( fonte ).
  • let main argv - definisce una funzione chiamata main con un singolo parametro argv . Poiché questo è il punto di ingresso del programma, argv sarà una serie di stringhe. I contenuti dell'array sono gli argomenti che sono stati passati al programma quando è stato eseguito.
  • printfn "Hello, World!" - la funzione printfn restituisce la stringa ** passata come primo argomento, aggiungendo anche una nuova riga.
  • 0 funzioni 0 - F # restituiscono sempre un valore e il valore restituito è il risultato dell'ultima espressione nella funzione. Mettere 0 come ultima riga significa che la funzione restituirà sempre zero (un numero intero).

** Questa non è una stringa, anche se sembra una. In realtà è un TextWriterFormat , che facoltativamente consente l'utilizzo di argomenti controllati in modo statico. Ma ai fini di un esempio di "ciao mondo" può essere pensato come una stringa.

Installazione o configurazione

finestre

Se hai installato Visual Studio (qualsiasi versione compresa express e community), F # dovrebbe essere già incluso. Basta scegliere F # come lingua quando si crea un nuovo progetto. Oppure vedi http://fsharp.org/use/windows/ per ulteriori opzioni.

OS X

Xamarin Studio supporta F #. In alternativa, è possibile utilizzare VS Code per OS X , che è un editor multipiattaforma di Microsoft.
Una volta terminato con l'installazione di VS Code, avviare VS Code Quick Open ( Ctrl + P ) quindi eseguire ext install Ionide-fsharp

Potresti anche considerare Visual Studio per Mac .

Ci sono altre alternative qui descritte .

Linux

Installa i pacchetti mono-complete e fsharp tramite il gestore pacchetti della tua distribuzione (Apt, Yum, ecc.). Per una buona esperienza di editing, utilizzare Visual Studio Code e installare il ionide-fsharp , oppure utilizzare Atom e installare il ionide-installer . Vedi http://fsharp.org/use/linux/ per ulteriori opzioni.