【发布时间】:2018-03-22 09:20:47
【问题描述】:
我想要一个用 Clojure 编写的函数,它检查我给定的字符串是否大于给定的数字,如果是,我的函数说真,否则说假。 现在我想出了以下代码,但它给出了以下错误: ClassCastException java.lang.Long 无法转换为 clojure.lang.IFn 用户/检查器(form-init1692807253513002836.clj:1)
我想出的代码是:
(defn checker [str, num]
(cond
(> (count str) num) "True"
:else "False"
)
)
(checker "test" 6)
谁能解释为什么 count str 被认为是 Long 和/或如何修复这个函数?
【问题讨论】:
-
我无法重现您的错误,您粘贴的示例似乎可以正常工作。造成这种情况的一个常见原因是编辑文件并需要加载它。在 emacs 中它是 C-k(默认情况下)在 InteliJ 中它是“加载命名空间”
-
嗯,你是对的,在我重新启动 Clojure 后,我的代码工作了......
标签: clojure