मैं एक छोटे से Clojure मैक्रो है कि एक प्रकार संकेत के साथ def
सा स्ट्रिंग बनाने के लिए कोशिश कर रहा हूँ:Clojure defmacro खो देता है मेटाडाटा
(defmacro def-string [name value]
`(def ^String ~name ~value))
(def-string db-host-option "db-host")
जब मैंने इसे macroexpand
, प्रकार संकेत खो दिया है:
(macroexpand '(def-string db-host-option "db-host"))
;=> (def db-host-option "db-host")
इसे संकेत देने के प्रकार के ज्ञान को कभी भी ध्यान न दें।
मेट्रो मेटाडेटा क्यों खो रहा है? मैं इस मैक्रो, या किसी भी मेटाडेटा को कैसे लिखूं?
आह की तरह कुछ! बेशक, पाठक मैक्रोज़ defmacros से पहले मूल्यांकन किया जाता है। धन्यवाद। – Ralph