相关疑难解决方法(0)

传递给宏的变量在错误的命名空间中解析?

比诺defpage是给我的一点点麻烦.我正在尝试构建类似于此的调用:

(defpage [:post "some/url"] [data]
  ;; some stuff...
  )
Run Code Online (Sandbox Code Playgroud)

但是,不是使用关键字:post我想使用变量,如下所示:

(def my-method :post)
(defpage [my-method "some/url"] [data]
  ;; some stuff...
  )
Run Code Online (Sandbox Code Playgroud)

问题是,当宏展开,它要解决的变量my-methodcompojure.core命名空间,而不是我自己的,给我的错误:

No such var: compojure.core/MY-METHOD
Run Code Online (Sandbox Code Playgroud)

我如何强制my-method在当前环境中解决?

lisp macros clojure noir

8
推荐指数
1
解决办法
1034
查看次数

标签 统计

clojure ×1

lisp ×1

macros ×1

noir ×1