Clojure-এ একটি string হলো একটি 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টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।