string في Clojure هي سلسلة نصية في Java، وهي عبارة عن كائن يمثل نصًا غير قابل للتغيير كتسلسل من محارف يونيكود (حروف، أرقام، علامات ترقيم، وما إلى ذلك)، وتُعرَّف كالتالي:
(def fruit "Apple")
مكتبة clojure.string توفّر العديد من الدوال القياسية لمعالجة السلاسل النصية والتعامل معها. بالإضافة إلى ذلك، جميع الطرق المعتادة في Java للتعامل مع السلاسل النصية متاحة عبر التشغيل البيني.
في هذا التمرين ستتعامل مع أسطر السجل.
كل سطر سجل هو سلسلة نصية بالتنسيق التالي: "[<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 تمارين، وإرشاد بشري حقيقي، وكل ذلك مجانًا.