मुझे पता है कि जावा में, यदि मैं किसी ऑब्जेक्ट को तर्क के रूप में किसी ऑब्जेक्ट में पास करता हूं, तो विधि डुप्लिकेट बनाने के बजाय तर्क ऑब्जेक्ट को उसी ऑब्जेक्ट को देगी। क्लोजर में कैसे? उदाहरण के लिए:क्लोजर में तर्क कैसे गुजर रहा है?
(defn print-from-reader [rdr]
(print (.read rdr)))
(...inside some code...
(with-open [rdr (Reader file)]
(print-from-rader rdr)))
प्रिंट-से-पाठक स्मृति में आरडीआर का एक और प्रतिलिपि बनाने करता है जब आरडीआर में पारित हो जाता है, या यह एक ही आरडीआर कि पहले से ही साथ-ओपन बाध्यकारी द्वारा बनाई गई है की ओर इशारा करते है?
और क्या यह जांचने का कोई तरीका है कि दो क्लोजर इंस्टेंस एक ही मेमोरी को इंगित कर रहे हैं या नहीं?
"पॉइंटिंग टू" और "इंस्टेंस" जैसे मेरे बुरे शब्दों के बारे में खेद है, मैं क्लोजर में नौसिखिया हूं और अभी भी इसे सीख रहा हूं। :-)
(समान?) बहुत आसान दिखता है, अब मैंने एक और चाल सीखी है! :-) –