Exercice - Fonctions

Effectué

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.

  1. Créez un projet F# en exécutant dotnet new.

    dotnet new console --language F# -o Functions
    cd Functions
    

    Maintenant 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 no
    
  2. Remplacez 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 no
    

    La première ligne de ce code, let cardFace card, fait appel à une fonction. Il s’agit maintenant d’une fonction appelée cardface() qui prend le paramètre card.

  3. Ajoutez le code suivant sous la fonction cardface().

    printfn "%s" (cardFace 11)
    
  4. Exécutez le projet en appelant dotnet run dans la console.

    dotnet run
    

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

  1. 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
    
  2. À présent, exécutez le projet dotnet run.

    dotnet run
    

    Vous obtenez maintenant la sortie suivante :

    Jack
    

    Le code fonctionne toujours : vous l’avez rendu plus clair en ajoutant un type au paramètre d’entrée.

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

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