बहुत अस्पष्ट शीर्षक :)Clojure - भ्रम
मैं मैक्रो को नया हूँ के लिए खेद का हवाला देते हुए और मुसीबत इन दो बयानों के बीच अंतर को समझने हो रहा है: जब मैं उन्हें गंदें शब्द बोलना के बिना चलने
`(+ 1 2 ~(+ 2 3)) ; => (clojure.core/+ 1 2 5)
'(+ 1 2 ~(+ 2 3)) ; => (+ 1 2 (clojure.core/unquote (+ 2 3)))
, वे योग्यता के अलावा अन्य समान लगते हैं?
`(+ 1 2 (+ 2 3)) ; => (clojure.core/+ 1 2 (clojure.core/+ 2 3))
'(+ 1 2 (+ 2 3)) ; => (+ 1 2 (+ 2 3))
तो मूल रूप से मैं 'बनाम' द्वारा उलझन में हूं। मेरी समझ यह है कि वे दोनों सूची में सबकुछ उद्धृत करते हैं, यही कारण है कि मुझे यकीन नहीं है कि क्यों निर्विवाद अलग-अलग व्यवहार करता है। असल में 'वैसे ही व्यवहार करता है जिस तरह से मैं' और 'व्यवहार करने की अपेक्षा करता हूं।
धन्यवाद!
तुम भी एलन द्वारा लिस्प में महान कागज [अर्ध कोटेशन उल्लेख कर की अनुमति देता है Bawden] (http://www.scribd.com/doc/47702904/Bawden-Quasi-Quotation-in-Lisp)। – Daimrod
डेमरोद, हाँ, लिंक के लिए धन्यवाद! (शुरुआती लोगों के लिए नोट: अन्य लिस्प बोलीभाषाओं और क्लोजर के बीच कुछ अंतर हैं। उदाहरण के लिए, सीएल और पेपर में, ',' (क्लोजर में व्हाइटस्पेस) का उपयोग बिना छेड़छाड़ के लिए किया जाता है। इसके अलावा, सीएल में, '' 'के बाहर बैकक्वॉटेड अभिव्यक्ति अमान्य है (आमतौर पर एक पाठक त्रुटि)।) – danlei
धन्यवाद, मुझे एहसास नहीं हुआ कि वाक्यविन्यास-उद्धरण के लिए आरक्षित किया गया था। यह निश्चित रूप से परिणाम बताता है। मैं क्लोजर की जॉय के माध्यम से जा रहा हूं और मैंने प्रयोग करने के लिए मैक्रो अध्याय में रोका है और इस सामान को समझने की कोशिश की है, इसलिए संभव है कि मैंने अध्याय में स्पष्टीकरण को याद किया है :) – anonymous