F# Tutorial
Iniziare con F #
Ricerca…
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 |
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.
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 chiamatamain
con un singolo parametroargv
. 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 funzioneprintfn
restituisce la stringa ** passata come primo argomento, aggiungendo anche una nuova riga. -
0
funzioni0
- F # restituiscono sempre un valore e il valore restituito è il risultato dell'ultima espressione nella funzione. Mettere0
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.
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.