मैं संदर्भ पर एक नज़र था: http://clojuredocs.org/clojure_core/clojure.core/bindingक्लोजर के डायनामिक वर्र्स और बाइंडिंग का व्यावहारिक उद्देश्य क्या है?
के साथ-साथ clojure and ^:dynamic और Clojure Dynamic Binding
मैं अभी भी समझ में नहीं आता क्यों binding
के लिए की जरूरत है http://clojure.org/vars#Vars%20and%20the%20Global%20Environment, बिल्कुल हर कार्यक्रम के रूप में मैं कर दिया गया है लिखा है उनके बिना और मैं परंपरागत तरीके से उदाहरण लिखने के तरीके ढूंढ सकता हूं - जो मुझे अधिक समझ में आता है। क्या परियोजनाओं/प्रोग्रामिंग प्रतिमानों के उदाहरण हैं जो इसका उपयोग करते हैं?
(def dog {:name "Dog" :sound "Woof"})
(def cat {:name "Cat" :sound "Meow"})
(defn speak [animal]
(str (:name animal) " says " (:sound animal))
(println (speak dog))
(println (speak cat))
कोई मैक्रो, कोई गतिशील बंधन ... अभी भी बहुत साफ:
उदाहरण के लिए... पशु में उदाहरण के बात करते हैं, आप के साथ एक समान प्रभाव प्राप्त कर सकते हैं।
स्टुअर्ट सिएरा इस ब्लॉग पोस्ट में क्लोजर में गतिशील स्कॉइंग के प्रभावों के बारे में बात करते हैं: http://stuartsierra.com/2013/03/29/perils-of- गतिशील-स्कोप –