【问题标题】:Clojure: Qualified keyword inside a macro that resolves in caller's namespace?Clojure:在调用者的命名空间中解析的宏中的限定关键字?
【发布时间】:2013-04-01 00:07:37
【问题描述】:

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

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

在另一个命名空间中:

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

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

【问题讨论】:

    标签: clojure clojurescript


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      相关资源
      最近更新 更多