Udostępnij za pośrednictwem


Wprowadzenie do języka F# przy użyciu interfejsu wiersza polecenia platformy .NET

W tym artykule opisano, jak rozpocząć pracę z językiem F# w dowolnym systemie operacyjnym (Windows, macOS lub Linux) przy użyciu interfejsu wiersza polecenia platformy .NET. Przechodzi przez proces tworzenia rozwiązania wieloprojektowego z biblioteką klas wywoływaną przez aplikację konsolową.

Wymagania wstępne

Aby rozpocząć, musisz zainstalować najnowszy zestaw .NET SDK.

W tym artykule założono, że wiesz, jak używać wiersza polecenia i korzystać z preferowanego edytora tekstów. Jeśli jeszcze go nie używasz, program Visual Studio Code jest doskonałym rozwiązaniem jako edytor tekstów dla języka F#.

Tworzenie prostego rozwiązania wieloprojektowego

Otwórz wiersz polecenia/terminal i użyj polecenia dotnet new , aby utworzyć nowy plik rozwiązania o nazwie FSharpSample:

dotnet new sln -o FSharpSample

Po uruchomieniu poprzedniego polecenia zostanie utworzona następująca struktura katalogów:

FSharpSample
    ├── FSharpSample.sln

Pisanie biblioteki klas

Zmień katalogi na FSharpSample.

Użyj polecenia , dotnet new aby utworzyć projekt biblioteki klas w folderze src o nazwie Library.

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

Po uruchomieniu poprzedniego polecenia zostanie utworzona następująca struktura katalogów:

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

Zastąp zawartość Library.fs następującym kodem:

module Library

open System.Text.Json

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

Library Dodaj projekt do FSharpSample rozwiązania przy użyciu polecenia dotnet sln add:

dotnet sln add src/Library/Library.fsproj

Uruchom polecenie dotnet build , aby skompilować projekt. Nierozwiązane zależności zostaną przywrócone podczas kompilowania.

Pisanie aplikacji konsolowej, która korzysta z biblioteki klas

Użyj polecenia , dotnet new aby utworzyć aplikację konsolową w folderze src o nazwie App.

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

Po uruchomieniu poprzedniego polecenia zostanie utworzona następująca struktura katalogów:

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

Zastąp zawartość pliku Program.fs następującym kodem:

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

Dodaj odwołanie do Library projektu przy użyciu polecenia dotnet add reference .

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

App Dodaj projekt do FSharpSample rozwiązania przy użyciu dotnet sln add polecenia :

dotnet sln add src/App/App.fsproj

Przywróć zależności NuGet za pomocą dotnet restore polecenia i uruchom polecenie dotnet build , aby skompilować projekt.

Zmień katalog na src/App projekt konsoli i uruchom projekt przekazujący Hello World jako argumenty:

cd src/App
dotnet run Hello World

Powinny zostać wyświetlone następujące wyniki:

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}

Następne kroki

Następnie zapoznaj się z przewodnikiem po języku F# , aby dowiedzieć się więcej o różnych funkcjach języka F#.