Clojure-এ সংখ্যার মধ্যে রয়েছে:
-6, 0, 1, 25, 976 এবং 500000।-2.4, 0.1, 3.14, 16.984025 এবং 1024.0।দুটি কমন সংখ্যাগত টাইপ হলো int এবং float। একটি int হলো ৩২-বিটের ইন্টিজার, আর একটি float হলো ৬৪-বিটের ফ্লোটিং-পয়েন্ট সংখ্যা।
পাটিগণিত করা হয় স্ট্যান্ডার্ড গাণিতিক অপারেটর দিয়ে। সংখ্যা তুলনা করা যায় স্ট্যান্ডার্ড সংখ্যাগত তুলনা অপারেটর (>, <, <=, >=), সমতা অপারেটর (=) এবং অসমতা অপারেটর (not=) দিয়ে।
এই অনুশীলনীতে আপনাকে শর্তসাপেক্ষে লজিক চালাতে হবে। Clojure-এ এটি করার একটি কমন উপায় হলো cond ব্যবহার করা:
(cond (= x 5) "Expression to evaluate when x equals 5"
(> x 7) "Expression to evaluate when x is greater than 7"
:else "Expression to evaluate in all other cases")
কোন কোন ক্ষেত্রে =-এর বদলে == অপারেটরটিই বেশি উপযুক্ত হতে পারে, যেখানে সংখ্যাগুলোর সঠিক টাইপ নির্বিশেষে তুলনা করা দরকার। যেমন,
(== 5.0 5) ;; true as both numbers are equal when type is ignored
(= 5.0 5) ;; false as the types of numbers are also taken into account here i.e. float is different from int
সমতা নিয়ে Clojure গাইডে, বিশেষ করে সংখ্যা অংশে আরও বিস্তারিত আলোচনা আছে।
এই অনুশীলনীতে আপনি একটি গাড়ির কারখানার অ্যাসেম্বলি লাইনের উৎপাদন বিশ্লেষণ করার কোড লিখবেন। অ্যাসেম্বলি লাইনের গতি 0 (বন্ধ) থেকে 10 (সর্বোচ্চ) পর্যন্ত হতে পারে।
এর সর্বনিম্ন গতিতে (1) প্রতি ঘণ্টায় 221টি গাড়ি উৎপাদিত হয়। গতি বাড়ার সাথে সাথে উৎপাদন রৈখিকভাবে বৃদ্ধি পায়। তাই গতি 4 নির্ধারণ করলে প্রতি ঘণ্টায় 4 * 221 = 884টি গাড়ি উৎপাদিত হওয়া উচিত। তবে উচ্চতর গতি ত্রুটিপূর্ণ গাড়ি উৎপাদনের সম্ভাবনা বাড়িয়ে দেয়, যেগুলোকে পরে বাদ দিতে হয়। নিচের তালিকায় দেখানো হয়েছে কীভাবে গতি সফলতার হারকে প্রভাবিত করে:
0: 0% সফলতার হার।1 থেকে 4: 100% সফলতার হার।5 থেকে 8: 90% সফলতার হার।9: 80% সফলতার হার।10: 77% সফলতার হার।আপনার দুটি কাজ আছে।
অ্যাসেম্বলি লাইনের সফলতার হার বিবেচনায় নিয়ে প্রতি ঘণ্টায় উৎপাদনের হার হিসাব করতে production-rate ফাংশনটি ইমপ্লিমেন্ট করুন:
(production-rate 6)
;;=> 1193.4
লক্ষ্য করুন, রিটার্ন করা মানটি একটি double।
প্রতি মিনিটে কতগুলো কার্যকর গাড়ি উৎপাদিত হয় তা হিসাব করতে working-items ফাংশনটি ইমপ্লিমেন্ট করুন:
(working-items 6)
;;=> 19
লক্ষ্য করুন, রিটার্ন করা মানটি একটি int।
Exercism-এ সাইন আপ করুন, Clojure ট্র্যাকের 12টি কনসেপ্ট105টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।