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#.