Начало работы с F# с помощью интерфейса командной строки .NET
В этой статье описывается, как приступить к работе с F# в любой операционной системе (Windows, macOS или Linux) с помощью .NET CLI. Он проходит через создание решения с несколькими проектами с помощью библиотеки классов, вызываемой консольным приложением.
Необходимые компоненты
Чтобы начать, необходимо установить последний пакет SDK для .NET.
В этой статье предполагается, что вы знаете, как использовать командную строку и иметь предпочтительный текстовый редактор. Если вы еще не используете его, Visual Studio Code является отличным вариантом в качестве текстового редактора для F#.
Создание простого решения для нескольких проектов
Откройте командную строку или терминал и используйте команду dotnet new, чтобы создать новый файл решения:FSharpSample
dotnet new sln -o FSharpSample
Следующая структура каталогов создается после выполнения предыдущей команды:
FSharpSample
├── FSharpSample.sln
Запись библиотеки классов
Измените каталоги на FSharpSample.
dotnet new
Используйте команду для создания проекта библиотеки классов в папке src с именем Library.
dotnet new classlib -lang "F#" -o src/Library
Следующая структура каталогов создается после выполнения предыдущей команды:
└── FSharpSample
├── FSharpSample.sln
└── src
└── Library
├── Library.fs
└── Library.fsproj
Замените все содержимое Library.fs
следующим кодом:
module Library
open System.Text.Json
let getJson value =
let json = JsonSerializer.Serialize(value)
value, json
Добавьте проект в Library
FSharpSample
решение с помощью команды dotnet sln add :
dotnet sln add src/Library/Library.fsproj
Выполните сборку dotnet build
проекта. При сборке будут восстановлены неразрешенные зависимости.
Создание консольного приложения, использующее библиотеку классов
dotnet new
Используйте команду для создания консольного приложения в папке src с именем App.
dotnet new console -lang "F#" -o src/App
Следующая структура каталогов создается после выполнения предыдущей команды:
└── FSharpSample
├── FSharpSample.sln
└── src
├── App
│ ├── App.fsproj
│ ├── Program.fs
└── Library
├── Library.fs
└── Library.fsproj
Замените содержимое файла Program.fs
приведенным ниже кодом.
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
Добавьте ссылку на Library
проект с помощью dotnet add reference.
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
Добавьте проект в App
FSharpSample
решение с помощью dotnet sln add
команды:
dotnet sln add src/App/App.fsproj
Восстановите зависимости NuGet и dotnet restore
запустите dotnet build
его для сборки проекта.
Измените каталог на консольный src/App
проект и запустите проект, передавая Hello World
в качестве аргументов:
cd src/App
dotnet run Hello World
Должны отобразиться следующие результаты:
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}
Следующие шаги
Затем проверка тур F#, чтобы узнать больше о различных функциях F#.