Kom igång med F# med .NET CLI
Den här artikeln beskriver hur du kommer igång med F# på alla operativsystem (Windows, macOS eller Linux) med .NET CLI. Det går igenom att skapa en lösning för flera projekt med ett klassbibliotek som anropas av ett konsolprogram.
Förutsättningar
Börja med att installera den senaste .NET SDK:en.
Den här artikeln förutsätter att du vet hur du använder en kommandorad och har en föredragen textredigerare. Om du inte redan använder det är Visual Studio Code ett bra alternativ som textredigerare för F#.
Skapa en enkel lösning för flera projekt
Öppna en kommandotolk/terminal och använd det nya dotnet-kommandot för att skapa en ny lösningsfil med namnet FSharpSample
:
dotnet new sln -o FSharpSample
Följande katalogstruktur skapas efter att föregående kommando har körts:
FSharpSample
├── FSharpSample.sln
Skriva ett klassbibliotek
Ändra kataloger till FSharpSample.
dotnet new
Använd kommandot för att skapa ett klassbiblioteksprojekt i mappen src med namnet Bibliotek.
dotnet new classlib -lang "F#" -o src/Library
Följande katalogstruktur skapas efter att föregående kommando har körts:
└── FSharpSample
├── FSharpSample.sln
└── src
└── Library
├── Library.fs
└── Library.fsproj
Ersätt innehållet i Library.fs
med följande kod:
module Library
open System.Text.Json
let getJson value =
let json = JsonSerializer.Serialize(value)
value, json
Library
Lägg till projektet i FSharpSample
lösningen med hjälp av kommandot dotnet sln add:
dotnet sln add src/Library/Library.fsproj
Kör dotnet build
för att skapa projektet. Olösta beroenden återställs när du skapar.
Skriva ett konsolprogram som använder klassbiblioteket
dotnet new
Använd kommandot för att skapa ett konsolprogram i mappen src med namnet App.
dotnet new console -lang "F#" -o src/App
Följande katalogstruktur skapas efter att föregående kommando har körts:
└── FSharpSample
├── FSharpSample.sln
└── src
├── App
│ ├── App.fsproj
│ ├── Program.fs
└── Library
├── Library.fs
└── Library.fsproj
Ersätt innehållet i filen Program.fs
med följande kod:
open System
open Library
[<EntryPoint>]
let main args =
printfn "Nice command-line arguments! Here's what System.Text.Json has to say about them:"
let value, json = getJson {| args=args; year=System.DateTime.Now.Year |}
printfn $"Input: %0A{value}"
printfn $"Output: %s{json}"
0 // return an integer exit code
Lägg till en referens till Library
projektet med hjälp av dotnet add reference.
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
App
Lägg till projektet i FSharpSample
lösningen med kommandot dotnet sln add
:
dotnet sln add src/App/App.fsproj
Återställ NuGet-beroendena med dotnet restore
och kör dotnet build
för att skapa projektet.
Ändra katalogen till src/App
konsolprojektet och kör projektet som skickas Hello World
som argument:
cd src/App
dotnet run Hello World
Du bör se följande resultat:
Nice command-line arguments! Here's what System.Text.Json has to say about them:
Input: { args = [|"Hello"; "World"|] year = 2021 }
Output: {"args":["Hello","World"],"year":2021}
Nästa steg
Kolla sedan in Tour of F# för att lära dig mer om olika F#-funktioner.