Clojure-Zeichen sind java.lang.Character-Primitive, und wir können sie über Interop mit den Methoden der Character-Klasse bearbeiten:
(Character/isDigit \2)
;;=> true
Clojure bringt eine leistungsstarke Bibliothek zur String-Verarbeitung mit, clojure.string. Sie ist oft idiomatischer als Interop.
In dieser Übung implementierst du eine Teilmenge von Hilfsroutinen, mit denen ein Entwickler Bezeichnernamen bereinigen kann.
In den 5 Aufgaben baust du die Funktion clean nach und nach auf. Ein gültiger Bezeichner besteht aus null oder mehr Buchstaben und Unterstrichen.
In allen Fällen ist der Eingabe-String garantiert nicht nil. Wenn ein leerer String an die Funktion übergeben wird, soll ein leerer String zurückgegeben werden.
Beachte, dass der Aufrufer die Funktion nicht mit einem leeren Bezeichner aufrufen sollte, da solche Bezeichner wirkungslos sind.
Implementiere die Funktion clean so, dass sie alle Leerzeichen durch Unterstriche ersetzt. Das gilt auch für führende und nachfolgende Leerzeichen.
(clean "my Id")
;;=> "my___Id"
Ändere die Funktion clean so, dass sie Steuerzeichen durch den String "CTRL" in Großbuchstaben ersetzt. Ein Zeichen gilt als ISO-Steuerzeichen, wenn sein Code im Bereich '\u0000' bis '\u001F' oder im Bereich '\u007F' bis '\u009F' liegt.
(clean "my\u007FId")
;;=> "myCTRLId"
Ändere die Funktion clean so, dass sie kebab-case in camelCase umwandelt.
(clean "à-ḃç")
;;=> "àḂç"
Ändere die Funktion clean so, dass sie alle Zeichen weglässt, die keine Buchstaben sind. Hinweis: Die Unterstriche müssen aus dem vorherigen Schritt beibehalten werden.
(clean "1😀2😀3😀")
;; => ""
Ändere die Funktion clean so, dass sie alle griechischen Buchstaben im Bereich 'α' bis 'ω' weglässt.
(clean "MyΟβιεγτFinder")
;;=> "MyΟFinder"
Melde dich bei Exercism an, um Clojure mit 12 Konzepte105 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.