Parcours
/
Elm
Elm
/
Exercices
/
Parcours sur parcours sur parcours
Parcours sur parcours sur parcours

Parcours sur parcours sur parcours

Exercice d'apprentissage

Introduction

Listes

Une List en Elm est une collection immuable de zéro ou plusieurs valeurs du même type.

Les listes peuvent être définies comme suit :

empty = []
singleValue = [ 5 ]
threeValues = [ "a", "b", "c" ]

La façon la plus courante d'ajouter un élément à une liste est d'utiliser l'opérateur :: (cons) :

twoToFour = [ 2, 3, 4 ]
oneToFour = 1 :: twoToFour --> [ 1, 2, 3, 4 ]

Les listes se manipulent à l'aide des fonctions et des opérateurs définis dans le module List ou par filtrage par motifs

describe : List String -> String
describe list =
    case list of
        [] ->
            "Empty list"

        [ "hello" ] ->
            "Singleton list with: hello"

        x :: xs ->
            "Non-empty list with head: " ++ x

describe []                   --> "Empty list"
describe [ "hello" ]          --> "Singleton list with: hello"
describe [ "hello", "world" ] --> "Non-empty list with head: hello"

Instructions

Dans cet exercice, tu vas écrire du code pour garder une trace des langages de programmation que tu veux apprendre sur Exercism. Tu as six tâches, qui vont toutes te demander de manipuler des tableaux.

1. Crée un nouveau tableau

Pour garder une trace des langages que tu veux apprendre, tu vas devoir créer un nouveau tableau. Définis la constante newList qui contient un nouveau tableau vide.

newList
    --> []

2. Définis un tableau existant

Pour l'instant, tu as une feuille de papier sur laquelle sont listés les langages que tu veux apprendre : Elm, Clojure et Haskell. Définis la constante existingList pour représenter ce tableau.

existingList
    --> [ "Elm", "Clojure", "Haskell" ]

3. Ajoute un nouveau langage à un tableau

Au fur et à mesure que tu explores Exercism et que tu découvres des langages plus intéressants, tu vas vouloir les ajouter à ton tableau. Implémente la fonction addLanguage pour ajouter un nouveau langage au début du tableau.

addLanguage "TypeScript" [ "JavaScript", "CoffeeScript" ]
    --> [ "TypeScript", "JavaScript", "CoffeeScript" ]

4. Compte les langages du tableau

Compter les langages à la main n'est pas pratique. Implémente la fonction countLanguages pour compter le nombre de langages dans le tableau.

countLanguages [ "C#", "Racket", "Rust", "Ruby" ]
    --> 4

5. Inverse le tableau

À un moment donné, tu te rends compte que ton tableau est en fait rangé à l'envers ! Implémente la fonction reverseList pour inverser ton tableau.

reverseList [ "Prolog", "C", "Idris", "Assembly" ]
    --> [ "Assembly", "Idris", "C", "Prolog" ]

6. Vérifie si un tableau est passionnant

Même si tu aimes tous les langages, Elm occupe une place particulière dans ton cœur. Pour cette raison, un tableau de langages te passionne vraiment si :

  • Le premier élément du tableau est Elm.
  • Ou bien si le deuxième élément du tableau est Elm et que le tableau contient trois langages ou moins.

Implémente la fonction excitingList pour vérifier si un tableau de langages est passionnant :

excitingList [ "Nim", "Elm" ]
    --> True
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Elm Exercism

Prêt à commencer Parcours sur parcours sur parcours ?

Inscris-toi sur Exercism pour apprendre et maîtriser Elm avec 28 concepts110 exercices, et un vrai mentorat humain, le tout gratuitement.