【发布时间】:2013-03-04 18:43:13
【问题描述】:
看一些特殊形式的扩展方式:
(macroexpand '(String. "foo"))
(macroexpand '('a))
;; etc
...并意识到它们是作为宏实现的,这让我很好奇用户定义的宏的语法形式限制是什么。到目前为止,我所有的宏在语法形式上都类似于函数。但是是否有可能,例如,定义一个类似以下的宏?:
(macroexpand '(myprintln-foo))
;;=> (println "foo")
(macroexpand '(myprintln-zoo))
;;=> (println "zoo")
【问题讨论】:
标签: clojure