.NET CLI を使用して F# の使用を開始する

この記事では、.NET CLI を使用して、任意のオペレーティング システム (Windows、macOS、または Linux) 上で F# の使用を開始する方法について説明します。 コンソール アプリケーションによって呼び出されるクラス ライブラリを使用して、複数プロジェクト ソリューションをビルドします。

前提条件

まず、最新の .NET SDK をインストールする必要があります。

この記事では、コマンド ラインの使用方法を理解していることと、適切なテキスト エディターがあることを前提としています。 まだ使用していない場合は、F# のテキスト エディターとして Visual Studio Code が最適なオプションです。

シンプルな複数プロジェクト ソリューションをビルドする

コマンド プロンプトまたはターミナルを開き、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

dotnet sln add コマンドを使用して、FSharpSample ソリューションに Library プロジェクトを追加します。

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

dotnet add reference を使用して、Library プロジェクトに参照を追加します。

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

dotnet sln add コマンドを使用して、FSharpSample ソリューションに App プロジェクトを追加します。

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# のツアー」をご覧ください。