Exercice - Fonctions
Dans cet exercice, vous rendez votre code réutilisable. Il s’agit du code qu’un autre programmateur de votre équipe a écrit, mais vous avez pour tâche de le transformer en fonctions.
Créer des fonctions
Commencez par générer automatiquement un modèle pour un nouveau projet F#, puis prenez une partie du code et transformez-la en une fonction avec des paramètres.
Créez un projet F# en exécutant
dotnet new.dotnet new console --language F# -o Functions cd FunctionsMaintenant que vous avez un nouveau projet, examinons le code.
Voici le code de votre collègue.
let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noRemplacez le code par défaut dans le fichier Program.fs par le code suivant :
let cardFace card = let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noLa première ligne de ce code,
let cardFace card, fait appel à une fonction. Il s’agit maintenant d’une fonction appeléecardface()qui prend le paramètrecard.Ajoutez le code suivant sous la fonction
cardface().printfn "%s" (cardFace 11)Exécutez le projet en appelant
dotnet rundans la console.dotnet runVous obtenez maintenant la sortie suivante :
Jack
Félicitations ! Votre intention était de rendre du code réutilisable et l’avez transformé en fonction.
Ajouter des types
Vous avez converti le code de votre collègue en fonction. Pour améliorer la lisibilité de ce code, vous décidez d’y ajouter des définitions de type.
Modifiez votre fonction existante
cardface()pour qu’elle ressemble à ceci :let cardFace (card:int) = let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noÀ présent, exécutez le projet
dotnet run.dotnet runVous obtenez maintenant la sortie suivante :
JackLe code fonctionne toujours : vous l’avez rendu plus clair en ajoutant un type au paramètre d’entrée.
Modifiez votre fonction
cardface()pour qu’elle ressemble à ceci :let cardFace (card:int) :string = let no = card % 13 if no = 14 || no = 1 then "Ace" elif no = 13 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noÀ ce stade, vous avez ajouté un type de retour à la fonction
:string, ce qui signifie que la fonction retourne une chaîne.Exécutez le projet
dotnet run.dotnet runÀ nouveau, vous devriez voir la sortie suivante :
Jack
Félicitations ! Des types ont maintenant été ajoutés à votre code.