string у Clojure - це рядок тексту (англ. string) з мови Java, тобто обʼєкт, який представляє незмінний текст як послідовність символів Unicode (літер, цифр, розділових знаків тощо) і визначається так:
(def fruit "Apple")
Бібліотека clojure.string надає багато стандартних функцій для роботи з рядками тексту та їх обробки. Крім того, усі звичайні методи Java для роботи з рядками тексту доступні також завдяки взаємодії з Java.
У цій вправі ми будемо обробляти рядки журналу.
Кожен рядок журналу - це рядок тексту (англ. string) такого формату: "[<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 вправ та справжнє наставництво від людей, і все це безкоштовно.