【发布时间】:2015-04-21 08:36:27
【问题描述】:
我正在尝试通过“填空”动态构建 core.logic 语句。这是一个简单的例子:
(def number 42)
(def stmt `(run* [q] (== q ~number))
(eval stmt)
但是我得到了clojure.lang.Compiler$CompilerException: java.lang.RuntimeException: No such var: user/q, compiling:(null:20:12)。
我已经尝试了引用、取消引用和取消引用拼接的所有组合,但我无法弄清楚。我应该如何插入q?
(并且,退一步,建立这样的陈述是正确的方式吗?)
【问题讨论】:
标签: clojure clojure-core.logic