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#.