मैं सिर्फ sharpsign पेट के पाठक मैक्रो पर पढ़ रहा है और यह लग रहा था जैसे कि यह gensym काफ़ी मिलती-जुलती प्रभाव नहीं पड़ामतभेद
Sharpsign बृहदान्त्र:
"एक uninterned प्रतीक का परिचय"Gensym: "बनाता है और एक ताजा, uninterned प्रतीक रिटर्न"
तो एक साधारण परीक्षण
CL-USER> #:dave
; Evaluation aborted on #<UNBOUND-VARIABLE DAVE {1002FF77D3}>.
CL-USER> (defparameter #:dave 1)
#:DAVE
CL-USER> #:dave
; Evaluation aborted on #<UNBOUND-VARIABLE DAVE {100324B493}>.
कूल ताकि यह विफल हो सके।
अब मैक्रो परीक्षण
(defmacro test (x)
(let ((blah '#:jim))
`(let ((,blah ,x))
(print ,blah))))
CL-USER> (test 10)
10
10
CL-USER>
मीठा यह रास्ते से एक gensym वस्तु के रूप में की तरह इस्तेमाल किया जा सकता है ताकि के लिए।
मेरे लिए यह स्पष्ट रूप से समान परिणाम के साथ gensym से क्लीनर दिखता है। मुझे यकीन है कि मुझे एक महत्वपूर्ण जानकारी याद आ रही है इसलिए मेरा सवाल है, यह क्या है?
ओह हाँ, मैंने कैप्चर प्रभावों के बारे में सोचने में कभी भी बिताया नहीं था, जो स्पष्ट रूप से पूरे बिंदु..वोप्स! इस – Baggers