1
讓我們假設我已經DEFTYPE尋找下一個方法:DEFTYPE在defmacro與元數據
(deftype ^{A: a} Name [])
我想定義的宏發電DEFTYPE:
(defmacro dotype [name]
`(deftype ^{A :a} ~name []))
有關的元數據。然而,我失去的信息。
(macroexpand-1 '(dotype T))
;> (clojure.core/deftype T [])
我試圖用技巧與vary-meta
避免使用^ {}宏。不幸的是,deftype
不支持IObj接口(不支持元數據),並且我所有的嘗試都不起作用。
請建議實現此宏的方式。謝謝!
是的,* print-meta *是答案。謝謝! – Rustem