Share via


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.