【发布时间】:2013-04-01 00:07:37
【问题描述】:
是否可以在调用者的命名空间中的宏解析中使用限定关键字?例如:
(ns a)
(defmacro m [] `(do ::k))
在另一个命名空间中:
(ns b)
(use 'a)
(m)
在此示例中,(m) 解析为 :a/k(定义宏的命名空间)。我想知道是否有办法让它解析为:b/k(宏被调用的命名空间)。
【问题讨论】:
标签: clojure clojurescript
是否可以在调用者的命名空间中的宏解析中使用限定关键字?例如:
(ns a)
(defmacro m [] `(do ::k))
在另一个命名空间中:
(ns b)
(use 'a)
(m)
在此示例中,(m) 解析为 :a/k(定义宏的命名空间)。我想知道是否有办法让它解析为:b/k(宏被调用的命名空间)。
【问题讨论】:
标签: clojure clojurescript
(defmacro m [] (keyword (name (ns-name *ns*)) "k"))
【讨论】: