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 kallas main med en enda parameter argv . Eftersom detta är programinmatningspunkten, kommer argv 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ätta 0 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.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow