हाँ, वे बराबर हैं,
:refer
और :require
बुनियादी नामस्थान निर्माण करने के लिए आवश्यक कार्रवाई कर रहे हैं। :use
अधिक convienient
:require
का कारण बनता है वर्गों लोड करने के लिए
:refer
नाम अंतरिक्ष में जो वास्तव में सिर्फ एक नक्शा है (वास्तव में नक्शे के एक जोड़े)
:use
:refer
+ :require
है चीजों को जोड़ता है
उतना ही ऐसा दिख सकता है, वास्तव में नामस्थानों के लिए कोई जादू नहीं है
यदि आप बनाने के इस
(ns so.example (:use my.lib))
की तरह एक नाम स्थान के साथ बराबर: की आवश्यकता होगी:
(ns so.example (:require [my.lib :refer [function1 function2 function3
list every function in example
here and remember to keep it
up to date ]]))
स्रोत
2012-04-27 21:35:41
मैं समझता हूं कि ': संदर्भ' हमें 'उपयोग' से छुटकारा पाने की अनुमति देता है, लेकिन क्या आप मुझे दस्तावेज़ीकरण के लिए इंगित कर सकते हैं जो इंगित करता है कि यह विचार था? मैं व्यक्तिगत रूप से सोचता हूं कि 'उपयोग' कुछ मामलों में सुविधाजनक है, जैसे 'clojure.test'। ऐसे मामलों में 'उपयोग' का उपयोग क्यों न करें? –
http://dev.clojure.org/jira/browse/CLJ-879 देखें और क्लोजर-डे मेलिंग सूची में चर्चा से लिंक करें ... –