Clojure में ऐरे कलेक्शन होते हैं, ठीक वैसे ही जैसे दूसरी भाषाओं के ऐरे होते हैं। Lisp परिवार की दूसरी भाषाओं की तरह Clojure भी ऐरे लिखने के लिए गोल ब्रैकेट का इस्तेमाल करता है।
Clojure में ऐरे दो तरीकों से बनाए जा सकते हैं। list फंक्शन से ऐरे बनाया जा सकता है, या आप किसी लिटरल ऐरे को quote कर सकते हैं।
ऐरे खास होते हैं, क्योंकि Clojure उन्हें कॉल मानता है। Clojure उम्मीद करता है कि कॉल की शुरुआत एक ऑपरेटर से हो, जो आम तौर पर एक फंक्शन होता है। ऐरे के बाकी एलिमेंट ऑपरेंड माने जाते हैं, यानी वे फंक्शन के आर्गुमेंट बन जाते हैं।
Clojure ऐरे के साथ जो खास व्यवहार करता है, उसी वजह से हम सीधे लिटरल ऐरे नहीं बना सकते। quote या उसके शॉर्टहैंड ' से किसी ऐरे को उद्धृत करने का मतलब है कि उस ऐरे का मूल्यांकन नहीं होना चाहिए।
कुछ आधुनिक भाषाओं के विपरीत, Clojure के ऐरे अलग-अलग प्रकार के होते हैं, यानी एक ही ऐरे के अंदर कई तरह की चीज़ें रखी जा सकती हैं, जैसे '(2 "a" "b" 3)।
दूसरी Lisp भाषाओं के विपरीत, Clojure में खाली ऐरे भी सही माना जाता है और वह nil या false के बराबर नहीं होता।
इस अभ्यास में आप उन प्रोग्रामिंग भाषाओं के ऐरे को संसाधित करने के लिए कोड लिखेंगे जिनका अभ्यास आप Exercism प्लेटफॉर्म से करने की योजना बना रहे हैं।
आपके सामने छह काम हैं।
भाषाएँ जोड़ने से पहले आपको एक नया ऐरे बनाकर शुरू करना होगा। ऐसा फंक्शन बनाइए जो एक खाली ऐरे लौटाता है।
(new-list)
;; => ()
जैसे-जैसे आप Exercism को खोजते हैं और ऐसी भाषाएँ ढूँढते हैं जो आप सीखना चाहते हैं, आपको उन्हें अपने ऐरे में जोड़ पाना होगा। अपने ऐरे के शुरू में एक नई भाषा जोड़ने के लिए एक फंक्शन बनाइए।
(add-language '("Clojurescript") "JavaScript")
;; => '("JavaScript" "Clojurescript")
आप जल्दी से जाँचना चाहेंगे कि आपने अभी-अभी कौन-सी भाषा जोड़ी। ऐसा फंक्शन बनाइए जो आपके ऐरे से पहली भाषा लौटाता है।
(first-language '("Haskell" "Python"))
;; => "Haskell"
कभी-कभी आप अपनी अभी जोड़ी गई भाषा के बारे में अपना मन बदल लेंगे। अपने ऐरे से पहली भाषा हटाने के लिए एक फंक्शन बनाइए।
(remove-language '("Common Lisp" "Racket" "Scheme"))
;; => '("Racket" "Scheme")
भाषाओं को एक-एक करके गिनना सुविधाजनक नहीं है। अपने ऐरे में भाषाओं की संख्या गिनने के लिए फंक्शन बनाइए।
(count-languages '("C#" "Racket" "Rust" "Ruby"))
;; => 4
एक learning-list फंक्शन बनाइए, जिसके अंदर आप ऊपर बनाए गए कुछ फंक्शन इस्तेमाल करेंगे।
एक खाली ऐरे बनाइए
ऐरे में 2 नई प्रोग्रामिंग भाषाएँ जोड़िए।
ऐरे से "Lisp" हटा दीजिए, क्योंकि हो सकता है कि साल भर के लिए आपके पास पूरा समय न हो, और यह Clojure से काफी मिलती-जुलती है।
ऐरे में 2 और प्रोग्रामिंग भाषाएँ जोड़िए।
भाषाओं की कुल संख्या लौटाइए। संकेत: यह 3 होनी चाहिए।
(learning-list)
;; => 3
Exercism पर साइन अप कीजिए और Clojure को 12 कॉन्सेप्ट105 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।