Clojure:在调用者名称空间中解析的宏内的合格关键字?

时间:2013-04-01 00:07:38

标签: clojure clojurescript

是否可以在调用者命名空间中的宏解析中使用限定关键字?例如:

(ns a)
(defmacro m [] `(do ::k))

在另一个名称空间中:

(ns b)
(use 'a)
(m)

在此示例中,(m)解析为:a/k(定义宏的命名空间)。我想知道是否有办法让它解析为:b/k(宏名为的名称空间)。

1 个答案:

答案 0 :(得分:5)

(defmacro m [] (keyword (name (ns-name *ns*)) "k"))