खोज…
परिचय
क्लोजर में एक परमाणु एक चर है जिसे आपके कार्यक्रम (नाम स्थान) में बदला जा सकता है। क्योंकि क्लोजर में अधिकांश डेटा प्रकार अपरिवर्तनीय (या अपरिवर्तनीय) हैं - आप इसे पुनर्परिभाषित किए बिना किसी संख्या के मूल्य को बदल नहीं सकते हैं - क्लॉजेर प्रोग्रामिंग में परमाणु आवश्यक हैं।
एक परमाणु को परिभाषित करें
एक परमाणु को परिभाषित करने के लिए, एक साधारण def
उपयोग करें, लेकिन इससे पहले एक atom
फ़ंक्शन जोड़ें, जैसे:
(def counter (atom 0))
यह मान 0
का एक atom
बनाता है। परमाणु किसी भी प्रकार के हो सकते हैं:
(def foo (atom "Hello"))
(def bar (atom ["W" "o" "r" "l" "d"]))
एक परमाणु का मूल्य पढ़ें
एक परमाणु का मान पढ़ने के लिए, बस परमाणु का नाम रखो, इसके पहले एक @
साथ:
@counter ; => 0
एक बड़ा उदाहरण:
(def number (atom 3))
(println (inc @number))
;; This should output 4
एक परमाणु का मूल्य अद्यतन करें
एक परमाणु को बदलने के लिए दो कमांड हैं, swap!
और reset!
। swap!
आदेश दिया जाता है, और परमाणु को उसकी वर्तमान स्थिति के आधार पर बदल देता है। reset!
मूल परमाणु का मूल्य क्या था, इसकी परवाह किए बिना, परमाणु के मूल्य को पूरी तरह से बदल देता है:
(swap! counter inc) ; => 1
(reset! counter 0) ; => 0
यह उदाहरण परमाणुओं का उपयोग करके 2
की पहली 10 शक्तियों को आउटपुट करता है:
(def count (atom 0))
(while (< @atom 10)
(swap! atom inc)
(println (Math/pow 2 @atom)))