Track
/
Clojure
Clojure
/
Esercizi
/
Lindo e pulito
Lindo e pulito

Lindo e pulito

Esercizio di apprendimento

Introduzione

Operazioni sui caratteri

I caratteri di Clojure sono primitivi java.lang.Character, e possiamo manipolarli tramite interop usando i metodi della classe Character:

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

Utilità per le stringhe

Clojure include una potente libreria per l'elaborazione delle stringhe, clojure.string. Spesso è più idiomatico rispetto all'interop.

Istruzioni

In questo esercizio implementerai un insieme parziale di routine di utilità per aiutare uno sviluppatore a ripulire i nomi degli identificatori.

Nelle 5 attività costruirai gradualmente la funzione clean. Un identificatore valido è composto da zero o più lettere e trattini bassi.

In tutti i casi è garantito che la stringa di input non sia nil. Se alla funzione viene passata una stringa vuota, deve essere restituita una stringa vuota.

Tieni presente che chi chiama la funzione dovrebbe evitare di passarle un identificatore vuoto, dato che tali identificatori non hanno alcun effetto.

1. Sostituisci gli spazi che incontri con gli underscore

Implementa la funzione clean in modo che sostituisca gli spazi con gli underscore. Questo vale anche per gli spazi all'inizio e alla fine.

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

2. Sostituisci i caratteri di controllo con la stringa maiuscola "CTRL"

Modifica la funzione clean in modo che sostituisca i caratteri di controllo con la stringa maiuscola "CTRL". Un carattere è considerato un carattere di controllo ISO se il suo codice è nell'intervallo da '\u0000' a '\u001F' oppure nell'intervallo da '\u007F' a '\u009F'.

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

3. Converti da kebab-case a camelCase

Modifica la funzione clean in modo che converta da kebab-case a camelCase.

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

4. Ometti i caratteri che non sono lettere

Modifica la funzione clean in modo che ometta tutti i caratteri che non sono lettere. Nota: i trattini bassi devono essere preservati dal passaggio precedente.

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

5. Ometti le lettere greche minuscole

Modifica la funzione clean in modo che ometta le lettere greche nell'intervallo da 'α' a 'ω'.

(clean "MyΟβιεγτFinder")
;;=> "MyΟFinder"
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Clojure Exercism

Vuoi iniziare Lindo e pulito?

Iscriviti a Exercism per imparare e padroneggiare Clojure con 12 concetti105 esercizi e il mentoring di persone reali, tutto gratis.