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 kallasmain
med en enda parameterargv
. Eftersom detta är programinmatningspunkten, kommerargv
att 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!"
-printfn
funktionen 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ätta0
som 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.