clojure
clojure.core
खोज…
परिचय
यह दस्तावेज़ क्लोजर द्वारा दी जाने वाली विभिन्न बुनियादी कार्यात्मकता देता है। इसके लिए कोई स्पष्ट निर्भरता की आवश्यकता नहीं है और यह org.clojure के एक भाग के रूप में आता है।
क्लोजर में कार्यों को परिभाषित करना
(defn x [a b]
(* a b)) ;; public function
=> (x 3 2) ;; 6
=> (x 0 9) ;; 0
(defn- y [a b]
(+ a b)) ;; private function
=> (x (y 1 2) (y 2 3)) ;; 15
Assoc - क्लोजर में मानचित्र / वेक्टर मान को अपडेट करना
जब एक मानचित्र पर लागू किया जाता है, तो नए या अपडेट किए गए कुंजी जोड़े के साथ एक नया नक्शा देता है।
इसका उपयोग मौजूदा मानचित्र में नई जानकारी जोड़ने के लिए किया जा सकता है।
(def userData {:name "Bob" :userID 2 :country "US"})
(assoc userData :age 27) ;; { :name "Bob" :userID 2 :country "US" :age 27}
यदि मौजूदा कुंजी की आपूर्ति की जाती है तो यह पुराने सूचना मूल्य को बदल देता है।
(assoc userData :name "Fred") ;; { :name "Fred" :userID 2 :country "US" }
(assoc userData :userID 3 :age 27) ;; {:name "Bob" :userID 3 :country "US" :age 27}
इसका उपयोग वेक्टर पर निर्दिष्ट सूचकांक में मूल्य को बदलने के लिए भी किया जा सकता है।
(assoc [3 5 6 7] 2 10) ;; [3 5 10 7]
(assoc [1 2 3 4] 6 6) ;; java.lang.IndexOutOfBoundsException
क्लोजर में तुलना संचालक
तुलना क्लोजर में कार्य हैं। क्लोजर में (2>1)
का क्या मतलब है (> 2 1)
। यहां क्लोजर में सभी तुलना ऑपरेटर हैं।
- से अधिक
(> 2 1) ;; true
(> 1 2) ;; false
- से कम
(< 2 1) ;; false
- इससे बड़ा या इसके बराबर
(>= 2 1) ;; true
(>= 2 2) ;; true
(>= 1 2) ;; false
- से कम या बराबर
(<= 2 1) ;; false
(<= 2 2) ;; true
(<= 1 2) ;; true
- के बराबर
(= 2 2) ;; true
(= 2 10) ;; false
- बराबर नही है
(not= 2 2) ;; false
(not= 2 10) ;; true
डिस्को - एक क्लॉज्योर मैप से एक कुंजी को अलग करना
यह फ़ंक्शन तर्क में उल्लिखित कुंजियों के लिए मुख्य-मूल्य जोड़े के बिना एक नक्शा देता है। इसका उपयोग मौजूदा मानचित्र से जानकारी निकालने के लिए किया जा सकता है।
(dissoc {:a 1 :b 2} :a) ;; {:b 2}
इसका उपयोग कई कुंजियों को भंग करने के लिए भी किया जा सकता है:
(dissoc {:a 1 :b 2 :c 3} :a :b) ;; {:c 3}