F#Aan de slag met F #


Opmerkingen

F # is een "functionele eerst" taal. U kunt leren over alle verschillende soorten expressies , samen met functies .

De F # compiler - die open source is - compileert uw programma's in IL, wat betekent dat u F # code kunt gebruiken vanuit elke .NET compatibele taal zoals C # ; en voer het uit op Mono, .NET Core of het .NET Framework op Windows.

versies

Versie Publicatiedatum
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 # Interactief

F # Interactive, is een REPL-omgeving waarmee u F # -code per regel kunt uitvoeren.

Als u Visual Studio met F # hebt geïnstalleerd, kunt u F # Interactive in console uitvoeren door "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" . Op Linux of OS X is de opdracht fsharpi , die in /usr/bin of in /usr/local/bin afhankelijk van hoe je F # hebt geïnstalleerd - hoe dan ook, de opdracht moet op je PATH zodat je typ gewoon fsharpi .

Voorbeeld van F # interactief gebruik:

> 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
 

Gebruik #help;; voor hulp

Let op het gebruik van ;; om de REPL opdracht te geven alle eerder getypte opdrachten uit te voeren.

Hallo Wereld!

Dit is de code voor een eenvoudig consoleproject dat "Hallo wereld!" naar STDOUT en wordt afgesloten met een exitcode van 0

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

Voorbeeld uitsplitsing regel voor regel:

  • [<EntryPoint>] - Een .net- kenmerk dat [<EntryPoint>] "de methode die u gebruikt om het [<EntryPoint>] in te stellen" van uw programma ( bron ).
  • let main argv - dit definieert een functie genaamd main met een enkele parameter argv . Omdat dit het programma- argv zal argv een reeks strings zijn. De inhoud van de array zijn de argumenten die aan het programma zijn doorgegeven toen het werd uitgevoerd.
  • printfn "Hello, World!" - de printfn functie geeft de string ** door als het eerste argument en printfn ook een nieuwe regel toe.
  • 0 - F # -functies retourneren altijd een waarde en de geretourneerde waarde is het resultaat van de laatste uitdrukking in de functie. Als u 0 als laatste regel plaatst, betekent dit dat de functie altijd nul (een geheel getal) retourneert.

** Dit is eigenlijk geen string, ook al ziet het eruit. Het is eigenlijk een TextWriterFormat , die optioneel het gebruik van statisch type aangevinkte argumenten toestaat. Maar ten behoeve van een "hallo wereld" -voorbeeld kan het worden gezien als een string.

Installatie of instellingen

ramen

Als u Visual Studio (elke versie inclusief express en community) hebt geïnstalleerd, moet F # al zijn opgenomen. Kies gewoon F # als de taal wanneer u een nieuw project maakt. Of zie http://fsharp.org/use/windows/ voor meer opties.

OS X

Xamarin Studio ondersteunt F #. U kunt ook VS Code gebruiken voor OS X , een platformonafhankelijke editor van Microsoft.
Zodra u klaar bent met het installeren van VS Code, start u VS Code Quick Open ( Ctrl + P ) en voert ext install Ionide-fsharp vervolgens ext install Ionide-fsharp

U kunt ook Visual Studio voor Mac overwegen.

Er zijn andere alternatieven die hier worden beschreven .

Linux

Installeer de mono-complete en fsharp pakketten via de pakketbeheerder van uw distributie (Apt, Yum, etc.). Gebruik Visual Studio Code en installeer de ionide-fsharp plug-in, of gebruik Atom en installeer de ionide-installer plug ionide-installer voor een goede bewerkingservaring. Zie http://fsharp.org/use/linux/ voor meer opties.