Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment bien démarrer avec F# sur n’importe quel système d’exploitation (Windows, macOS ou Linux) avec l’interface CLI .NET. Il passe par la création d’une solution multi-projet avec une bibliothèque de classes appelée par une application console.
Conditions préalables
Pour commencer, vous devez installer le dernier Kit de développement logiciel (SDK) .NET.
Cet article suppose que vous savez utiliser une ligne de commande et avoir un éditeur de texte préféré. Si vous ne l’utilisez pas déjà, Visual Studio Code est une excellente option en tant qu’éditeur de texte pour F#.
Créer une solution multi-projet simple
Ouvrez une invite de commandes/un terminal et utilisez la commande dotnet new pour créer un fichier de solution appelé FSharpSample:
dotnet new sln -o FSharpSample
La structure de répertoires suivante est produite après avoir exécuté la commande précédente :
FSharpSample
├── FSharpSample.sln
Écrire une bibliothèque de classes
Remplacez les répertoires par FSharpSample.
Utilisez la dotnet new commande 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 produite après avoir exécuté 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. Cette commande ajoute le projet au fichier solution afin que la solution puisse effectuer le suivi et la générer :
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 dotnet new commande 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 produite après avoir exécuté 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 à l’aide de dotnet add reference. Cette commande ajoute un <ProjectReference> élément au fichier App.fsproj, qui indique au compilateur que le projet d’application dépend du projet bibliothèque :
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
La commande précédente ajoute le code XML suivant au fichier App.fsproj :
<ItemGroup>
<ProjectReference Include="..\Library\Library.fsproj" />
</ItemGroup>
Conseil / Astuce
Si vous ignorez cette étape et essayez de générer le projet d’application, vous obtenez une erreur de compilation, car le Library module est introuvable. Si cela se produit, vous pouvez exécuter la commande ou ajouter manuellement l’élément dotnet add reference<ProjectReference> indiqué ci-dessus à votre fichier App.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.
Remplacez le répertoire par le src/App projet de console et exécutez le projet en passant Hello World en tant qu’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
Ensuite, consultez la visite guidée de F# pour en savoir plus sur les différentes fonctionnalités F#.