Οι χαρακτήρες στη Clojure είναι πρωτογενείς τύποι java.lang.Character, και μπορούμε να τους χειριστούμε μέσω διασύνδεσης χρησιμοποιώντας τις μεθόδους της κλάσης Character:
(Character/isDigit \2)
;;=> true
Η Clojure συνοδεύεται από μια ισχυρή βιβλιοθήκη επεξεργασίας συμβολοσειρών, clojure.string. Αυτή είναι συχνά πιο ιδιωματική από τη διασύνδεση.
Σε αυτή την άσκηση θα υλοποιήσεις ένα μερικό σύνολο από βοηθητικές ρουτίνες που βοηθούν έναν προγραμματιστή να καθαρίσει ονόματα αναγνωριστικών.
Στις 5 εργασίες θα χτίσεις σταδιακά τη συνάρτηση clean. Ένα έγκυρο αναγνωριστικό αποτελείται από μηδέν ή περισσότερα γράμματα και κάτω παύλες.
Σε όλες τις περιπτώσεις η συμβολοσειρά εισόδου είναι εγγυημένα μη-nil. Αν περαστεί μια κενή συμβολοσειρά στη συνάρτηση, θα πρέπει να επιστραφεί μια κενή συμβολοσειρά.
Σημείωσε ότι αυτός που καλεί θα πρέπει να αποφεύγει να καλεί τη συνάρτηση με κενό αναγνωριστικό, αφού τέτοια αναγνωριστικά είναι άχρηστα.
Υλοποίησε τη συνάρτηση clean ώστε να αντικαθιστά όποια κενά με κάτω παύλες. Αυτό ισχύει και για κενά στην αρχή και στο τέλος.
(clean "my Id")
;;=> "my___Id"
Τροποποίησε τη συνάρτηση clean ώστε να αντικαθιστά τους χαρακτήρες ελέγχου με τη συμβολοσειρά κεφαλαίων "CTRL". Ένας χαρακτήρας θεωρείται χαρακτήρας ελέγχου ISO αν ο κωδικός του βρίσκεται στο εύρος '\u0000' έως '\u001F' ή στο εύρος '\u007F' έως '\u009F'.
(clean "my\u007FId")
;;=> "myCTRLId"
Τροποποίησε τη συνάρτηση clean ώστε να μετατρέπει το kebab-case σε camelCase.
(clean "à-ḃç")
;;=> "àḂç"
Τροποποίησε τη συνάρτηση clean ώστε να παραλείπει όποιους χαρακτήρες δεν είναι γράμματα.
Σημείωση: Οι κάτω παύλες πρέπει να διατηρηθούν από το προηγούμενο βήμα.
(clean "1😀2😀3😀")
;; => ""
Τροποποίησε τη συνάρτηση clean ώστε να παραλείπει όποια ελληνικά γράμματα στο εύρος από 'α' έως 'ω'.
(clean "MyΟβιεγτFinder")
;;=> "MyΟFinder"
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Clojure με 12 έννοιες105 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.