Μια string στη Clojure είναι μια συμβολοσειρά της Java, η οποία είναι ένα αντικείμενο που αναπαριστά αμετάβλητο κείμενο ως ακολουθία χαρακτήρων Unicode (γράμματα, ψηφία, σημεία στίξης κ.λπ.) και ορίζεται ως εξής:
(def fruit "Apple")
Η βιβλιοθήκη clojure.string παρέχει πολλές τυπικές συναρτήσεις χειρισμού και επεξεργασίας συμβολοσειρών. Επιπλέον, όλες οι συνήθεις μέθοδοι της Java για τον χειρισμό συμβολοσειρών είναι διαθέσιμες μέσω interop.
Σε αυτή την άσκηση θα επεξεργάζεσαι γραμμές καταγραφής.
Κάθε γραμμή καταγραφής είναι μια συμβολοσειρά με την εξής μορφή: "[<LEVEL>]: <MESSAGE>".
Υπάρχουν τρία διαφορετικά επίπεδα καταγραφής:
INFOWARNINGERRORΈχεις τρεις εργασίες, καθεμία από τις οποίες παίρνει μια γραμμή καταγραφής και σου ζητά να κάνεις κάτι με αυτήν.
Υλοποίησε τη συνάρτηση message ώστε να επιστρέφει το μήνυμα μιας γραμμής καταγραφής:
(message "[ERROR]: Invalid operation")
;;=> "Invalid operation"
Οποιοδήποτε κενό διάστημα στην αρχή ή στο τέλος θα πρέπει να αφαιρείται:
(message "[WARNING]: Disk almost full\r\n")
;;=> "Disk almost full"
Υλοποίησε τη συνάρτηση log-level ώστε να επιστρέφει το επίπεδο καταγραφής μιας γραμμής καταγραφής, το οποίο θα πρέπει να επιστρέφεται με πεζά γράμματα:
(log-level "[ERROR]: Invalid operation")
;;=> "error"
Υλοποίησε τη συνάρτηση reformat που αναδιαμορφώνει τη γραμμή καταγραφής, βάζοντας πρώτα το μήνυμα και μετά το επίπεδο καταγραφής μέσα σε παρενθέσεις:
(reformat "[INFO]: Operation completed")
;;=> "Operation completed (info)"
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Clojure με 12 έννοιες105 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.