この記事では、.NET CLI を使用して任意のオペレーティング システム (Windows、macOS、または Linux) で F# の使用を開始する方法について説明します。 コンソール アプリケーションによって呼び出されるクラス ライブラリを使用してマルチプロジェクト ソリューションを構築します。
前提条件
開始するには、最新の .NET SDK をインストールする必要があります。
この記事では、コマンド ラインを使用する方法を知っており、推奨されるテキスト エディターがあることを前提としています。 まだ使用していない場合、 Visual Studio Code は F# のテキスト エディターとして最適なオプションです。
単純なマルチプロジェクト ソリューションを構築する
コマンド プロンプト/ターミナルを開き、 dotnet new コマンドを使用して、 FSharpSample
という名前の新しいソリューション ファイルを作成します。
dotnet new sln -o FSharpSample
次のディレクトリ構造は、前のコマンドを実行した後に生成されます。
FSharpSample
├── FSharpSample.sln
クラス ライブラリを記述する
ディレクトリを FSharpSample に変更します。
dotnet new
コマンドを使用して、Library という名前の src フォルダーにクラス ライブラリ プロジェクトを作成します。
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
add コマンドを使用して、FSharpSample
プロジェクトを ソリューションに追加します。
dotnet sln add src/Library/Library.fsproj
dotnet build
を実行してプロジェクトをビルドします。 ビルド時に未解決の依存関係が復元されます。
クラス ライブラリを使用するコンソール アプリケーションを作成する
dotnet new
コマンドを使用して、App という名前の src フォルダーにコンソール アプリケーションを作成します。
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
dotnet reference add を使用して、 Library
プロジェクト への参照を追加します。
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
App
コマンドを使用して、FSharpSample
ソリューションにdotnet sln add
プロジェクトを追加します。
dotnet sln add src/App/App.fsproj
dotnet restore
を使用して NuGet の依存関係を復元し、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# 機能の詳細を確認してください。
.NET