Parcours
/
Clojure
Clojure
/
Exercices
/
Parcours sur parcours sur parcours
Parcours sur parcours sur parcours

Parcours sur parcours sur parcours

Exercice d'apprentissage

Introduction

En Clojure, les tableaux sont des collections, tout comme les tableaux dans d'autres langages. Comme dans les autres langages de la famille Lisp, Clojure utilise des parenthèses pour représenter les tableaux.

On peut créer un tableau en Clojure de deux façons. La fonction list permet de créer un tableau, ou bien on peut utiliser quote sur un tableau littéral.

Les tableaux sont particuliers, car Clojure les traite comme des appels. L'appel doit commencer par un opérateur, qui est généralement une fonction. Les autres éléments du tableau sont considérés comme des opérandes, ce qui signifie qu'ils deviennent les arguments de la fonction.

Ce traitement particulier que Clojure réserve aux tableaux explique pourquoi on ne peut pas créer directement un littéral de tableau. Placer quote ou son raccourci ' devant un tableau indique que celui-ci ne doit pas être évalué.

Contrairement à certains langages modernes, les tableaux en Clojure sont hétérogènes, ce qui signifie qu'ils peuvent contenir en interne des éléments de plusieurs types, par exemple '(2 "a" "b" 3). Contrairement aux autres Lisp, un tableau vide en Clojure est considéré comme vrai et n'est pas équivalent à nil ou false.

Instructions

Dans cet exercice, tu vas écrire du code pour traiter une liste de langages de programmation que tu comptes pratiquer sur la plateforme Exercism.

Cet exercice comporte six tâches.

1. Crée une nouvelle liste

Avant de pouvoir ajouter des langages, il te faut commencer par créer une nouvelle liste. Définis une fonction qui renvoie une liste vide.

(new-list)
;; => ()

2. Ajoute un nouveau langage à la liste

En explorant Exercism, tu vas découvrir des langages que tu veux apprendre, et tu auras besoin de pouvoir les ajouter à ta liste. Définis une fonction qui ajoute un nouveau langage au début de ta liste.

(add-language '("Clojurescript") "JavaScript")
;; => '("JavaScript" "Clojurescript")

3. Vérifie le dernier langage ajouté

Tu auras envie de vérifier rapidement quel langage tu viens d'ajouter. Définis une fonction qui renvoie le premier langage de ta liste.

(first-language '("Haskell" "Python"))
;; => "Haskell"

4. Supprime le premier langage de la liste

Il t'arrivera parfois de changer d'avis sur un langage que tu viens d'ajouter. Définis une fonction qui supprime le premier langage de ta liste.

(remove-language '("Common Lisp" "Racket" "Scheme"))
;; => '("Racket" "Scheme")

5. Compte les langages de la liste

Compter les langages un par un n'est pas pratique. Définis une fonction qui compte le nombre de langages de ta liste.

(count-languages '("C#" "Racket" "Rust" "Ruby"))
;; => 4

6. Rassemble le tout

Définis une fonction learning-list, dans laquelle tu utiliseras certaines des fonctions que tu as définies plus haut.

  • Crée une liste vide

  • Ajoute 2 nouveaux langages de programmation à la liste.

    • Clojure
    • Lisp
  • Supprime « Lisp » de la liste, car tu n'auras peut-être pas assez de temps cette année, et il ressemble beaucoup à Clojure.

  • Ajoute 2 autres langages de programmation à la liste.

    • Java
    • JavaScript
  • Renvoie le nombre total de langages. Indice : il doit être égal à 3.

(learning-list)
;; => 3
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Clojure Exercism

Prêt à commencer Parcours sur parcours sur parcours ?

Inscris-toi sur Exercism pour apprendre et maîtriser Clojure avec 12 concepts105 exercices, et un vrai mentorat humain, le tout gratuitement.