【发布时间】:2017-03-02 02:24:58
【问题描述】:
我从 Clojure 开始,并试图将(或真)绑定为(真)。我收到以下错误:
CompilerException java.lang.ClassCastException: java.lang.Boolean 无法转换为 clojure.lang.IFn,正在编译:(myproject\core.clj:8:26)
代码如下:
(declare ^:dynamic or)
(binding [or true] (true))
如果我这样做
(binding [or true] (true))
我明白了:
CompilerException java.lang.IllegalStateException: Can't dynamic bind non-dynamic var: clojure.core/or, compile:(myproject\core.clj:5:30)
【问题讨论】:
-
为什么
true在括号中?它不是一个函数。