Začínáme s jazykem F# pomocí rozhraní příkazového řádku .NET

Tento článek popisuje, jak začít s jazykem F# v libovolném operačním systému (Windows, macOS nebo Linux) pomocí rozhraní příkazového řádku .NET. Prochází vytvořením víceprojektového řešení s knihovnou tříd, která je volána konzolovou aplikací.

Požadavky

Abyste mohli začít, musíte nainstalovat nejnovější sadu .NET SDK.

Tento článek předpokládá, že víte, jak používat příkazový řádek a máte preferovaný textový editor. Pokud ho ještě nepoužíváte, je Visual Studio Code skvělou volbou jako textový editor pro jazyk F#.

Vytvoření jednoduchého řešení s více projekty

Otevřete příkazový řádek nebo terminál a pomocí nového příkazu dotnet vytvořte nový soubor řešení s názvem FSharpSample:

dotnet new sln -o FSharpSample

Následující adresářová struktura se vytvoří po spuštění předchozího příkazu:

FSharpSample
    ├── FSharpSample.sln

Zápis knihovny tříd

Změňte adresáře na FSharpSample.

dotnet new Pomocí příkazu vytvořte projekt knihovny tříd ve složce s názvem Knihovna.

dotnet new classlib -lang "F#" -o src/Library

Následující adresářová struktura se vytvoří po spuštění předchozího příkazu:

└── FSharpSample
    ├── FSharpSample.sln
    └── src
        └── Library
            ├── Library.fs
            └── Library.fsproj

Library.fs Obsah nahraďte následujícím kódem:

module Library

open System.Text.Json

let getJson value =
    let json = JsonSerializer.Serialize(value)
    value, json

Library Přidejte projekt do FSharpSample řešení pomocí příkazu dotnet sln add:

dotnet sln add src/Library/Library.fsproj

Spusťte dotnet build sestavení projektu. Nevyřešené závislosti se obnoví při sestavování.

Napsání konzolové aplikace, která využívá knihovnu tříd

dotnet new Pomocí příkazu vytvořte konzolovou aplikaci ve složce src s názvem App.

dotnet new console -lang "F#" -o src/App

Následující adresářová struktura se vytvoří po spuštění předchozího příkazu:

└── FSharpSample
    ├── FSharpSample.sln
    └── src
        ├── App
        │   ├── App.fsproj
        │   ├── Program.fs
        └── Library
            ├── Library.fs
            └── Library.fsproj

Obsah souboru Program.fs nahraďte následujícím kódem:

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

Přidejte do Library projektu odkaz pomocí dotnet add reference.

dotnet add src/App/App.fsproj reference src/Library/Library.fsproj

App Přidejte projekt do FSharpSample řešení pomocí dotnet sln add příkazu:

dotnet sln add src/App/App.fsproj

Obnovte závislosti NuGet a dotnet restore spusťte dotnet build ho a sestavte projekt.

Změňte adresář na src/App projekt konzoly a spusťte projekt předaný Hello World jako argumenty:

cd src/App
dotnet run Hello World

Měly by se vám zobrazit následující výsledky:

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}

Další kroky

V dalším kroku se podívejte na prohlídku jazyka F# a získejte další informace o různých funkcích jazyka F#.