Parcours
/
Clojure
Clojure
/
Exercices
/
Propre comme un sou neuf
Propre comme un sou neuf

Propre comme un sou neuf

Exercice d'apprentissage

Introduction

Les opérations sur les caractères

Les caractères en Clojure sont des primitives java.lang.Character, et on peut les manipuler via l'interopérabilité en utilisant les méthodes de la classe Character :

(Character/isDigit \2)
;;=> true

Les utilitaires pour les strings

Clojure est livré avec une puissante bibliothèque de traitement des chaînes de caractères, clojure.string. Elle est souvent plus idiomatique que l'interopérabilité.

Instructions

Dans cet exercice, tu vas implémenter un ensemble partiel de routines utilitaires pour aider un développeur à nettoyer des noms d'identifiants.

Au fil des 5 tâches, tu vas construire progressivement la fonction clean. Un identifiant valide comprend zéro ou plusieurs lettres et tirets bas.

Dans tous les cas, on garantit que la string en entrée n'est pas nulle. Si une string vide est passée à la fonction, c'est une string vide qui doit être renvoyée.

Note que l'appelant doit éviter d'appeler la fonction avec un identifiant vide, car de tels identifiants n'ont aucun effet.

1. Remplace les espaces rencontrés par des tirets bas

Implémente la fonction clean pour remplacer les espaces par des tirets bas. Cela s'applique aussi aux espaces en début et en fin.

(clean "my   Id")
;;=> "my___Id"

2. Remplace les caractères de contrôle par la chaîne de caractères majuscule "CTRL"

Modifie la fonction clean pour remplacer les caractères de contrôle par la chaîne de caractères majuscule "CTRL". Un caractère est considéré comme un caractère de contrôle ISO si son code se situe dans la plage allant de '\u0000' à '\u001F' ou dans la plage allant de '\u007F' à '\u009F'.

(clean "my\u007FId")
;;=> "myCTRLId"

3. Convertis le kebab-case en camelCase

Modifie la fonction clean pour convertir le kebab-case en camelCase.

(clean "à-ḃç")
;;=> "àḂç"

4. Omets les caractères qui ne sont pas des lettres

Modifie la fonction clean pour omettre tous les caractères qui ne sont pas des lettres. Remarque : les tirets bas doivent être conservés depuis l'étape précédente.

(clean "1😀2😀3😀")
;; => ""

5. Omets les lettres grecques minuscules

Modifie la fonction clean pour omettre les lettres grecques comprises entre 'α' et 'ω'.

(clean "MyΟβιεγτFinder")
;;=> "MyΟFinder"
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Clojure Exercism

Prêt à commencer Propre comme un sou neuf ?

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