F# Handledning
Komma igång med F #
Sök…
Anmärkningar
F # är ett "funktionellt-första" språk. Du kan lära dig om alla olika typer av uttryck , tillsammans med funktioner .
F # -kompileraren - som är öppen källkod - sammanställer dina program till IL, vilket innebär att du kan använda F # -kod från vilket .NET-kompatibelt språk som C # ; och kör den på Mono, .NET Core eller .NET Framework på Windows.
versioner
| Version | Utgivningsdatum |
|---|---|
| 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 |
Installation eller installation
Windows
Om du har Visual Studio (vilken version som helst inklusive express och community) installerat bör F # redan inkluderas. Välj bara F # som språk när du skapar ett nytt projekt. Eller se http://fsharp.org/use/windows/ för fler alternativ.
OS X
Xamarin Studio stöder F #. Alternativt kan du använda VS-kod för OS X , som är en plattformsredigerare av Microsoft.
När du är klar med att installera VS-kod, starta VS Code Quick Open ( Ctrl + P ) och kör sedan ext install Ionide-fsharp
Du kan också överväga Visual Studio för Mac .
Det finns andra alternativ som beskrivs här .
Linux
Installera de mono-complete och fsharp paketen via din distributions pakethanterare (Apt, Yum, etc.). För en bra redigeringsupplevelse använder du antingen Visual Studio-koden och installerar ionide-fsharp plugin, eller använd Atom och installerar ionide-installer . Se http://fsharp.org/use/linux/ för fler alternativ.
Hej världen!
Detta är koden för ett enkelt konsolprojekt som skriver ut "Hej, världen!" till STDOUT och går ut med en utgångskod på 0
[<EntryPoint>]
let main argv =
printfn "Hello, World!"
0
Exempel uppdelning rad för rad:
-
[<EntryPoint>]- Ett .net-attribut som markerar "metoden som du använder för att ställa in startpunkten" för ditt program ( källa ). -
let main argv- detta definierar en funktion som kallasmainmed en enda parameterargv. Eftersom detta är programinmatningspunkten, kommerargvatt vara en rad strängar. Innehållet i matrisen är de argument som överfördes till programmet när det kördes. -
printfn "Hello, World!"-printfnfunktionen matar ut strängen ** som har gått som sitt första argument, även en ny linje. -
0- F # -funktioner returnerar alltid ett värde, och det returnerade värdet är resultatet av det sista uttrycket i funktionen. Att sätta0som den sista raden innebär att funktionen alltid kommer att returnera noll (ett heltal).
** Detta är faktiskt inte en sträng trots att det ser ut som en. Det är faktiskt en TextWriterFormat , som valfritt tillåter användning av kontrollerade argument av statisk typ. Men för ett "hejvärld" -exempel kan det tänkas vara en sträng.
F # interaktiv
F # Interactive, är en REPL-miljö som låter dig köra F # -kod, en rad i taget.
Om du har installerat Visual Studio med F #, kan du köra F # Interactive i konsolen genom att skriva "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" . På Linux eller OS X är kommandot fsharpi istället, som borde vara i /usr/bin eller i /usr/local/bin beroende på hur du installerade F # - hur som helst, kommandot ska vara på din PATH så att du kan skriv bara fsharpi .
Exempel på F # interaktiv användning:
> 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
Använd #help;; för hjälp
Observera användningen av ;; för att berätta för REPL att utföra alla tidigare skrivna kommandon.