Bien démarrer avec F# à l’aide de l’interface CLI .NET

Cet article explique comment commencer à utiliser F# sur n’importe quel système d’exploitation (Windows, macOS ou Linux) à l’aide de l’interface CLI .NET. Pour cela, vous allez créer une solution multiprojet avec une bibliothèque de classes appelée par une application console.

Prérequis

Pour commencer, vous devez installer la dernière version du SDK .NET.

Cet article part du principe que vous savez utiliser une ligne de commande et que vous disposez de votre éditeur de texte préféré. Si vous ne l’avez pas déjà installé, Visual Studio Code est un excellent éditeur de texte pour F#.

Créer une solution multiprojet simple

Ouvrez une invite de commandes/un terminal et utilisez la commande dotnet new pour créer un fichier solution appelé FSharpSample :

dotnet new sln -o FSharpSample

La structure de répertoires suivante est générée après l’exécution de la commande précédente :

FSharpSample
    ├── FSharpSample.sln

Écrire une bibliothèque de classes

Passez au répertoire FSharpSample.

Utilisez la commande dotnet new pour créer un projet de bibliothèque de classes dans le dossier src nommé Library.

dotnet new classlib -lang "F#" -o src/Library

La structure de répertoires suivante est générée après l’exécution de la commande précédente :

└── FSharpSample
    ├── FSharpSample.sln
    └── src
        └── Library
            ├── Library.fs
            └── Library.fsproj

Remplacez le contenu de Library.fs par le code suivant :

module Library

open System.Text.Json

let getJson value =
    let json = JsonSerializer.Serialize(value)
    value, json

Ajoutez le projet Library à la solution FSharpSample à l’aide de la commande dotnet sln add :

dotnet sln add src/Library/Library.fsproj

Exécutez dotnet build pour générer le projet. Les dépendances non résolues seront restaurées lors de la génération.

Écrire une application console qui consomme la bibliothèque de classes

Utilisez la commande dotnet new pour créer une application console dans le dossier src nommé App.

dotnet new console -lang "F#" -o src/App

La structure de répertoires suivante est générée après l’exécution de la commande précédente :

└── FSharpSample
    ├── FSharpSample.sln
    └── src
        ├── App
        │   ├── App.fsproj
        │   ├── Program.fs
        └── Library
            ├── Library.fs
            └── Library.fsproj

Remplacez le contenu du fichier Program.fs par le code suivant :

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

Ajoutez une référence au projet Library en utilisant dotnet add reference.

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

Ajoutez le projet App à la solution FSharpSample à l’aide de la commande dotnet sln add :

dotnet sln add src/App/App.fsproj

Restaurez les dépendances NuGet avec dotnet restore et exécutez dotnet build pour générer le projet.

Passez au répertoire src/App du projet d’application console et exécutez le projet en passant Hello World comme arguments :

cd src/App
dotnet run Hello World

Les résultats suivants doivent s’afficher :

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}

Étapes suivantes

Consultez ensuite la présentation de F# pour en savoir plus sur les différentes fonctionnalités de F#.