次の方法で共有


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

この記事では、.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# 機能の詳細を確認してください。