我想检查给定列表的编号是否为0,但我的代码返回EmptyList不能转换为clojure.lang.IFn。
(defn fun [ls]
(println ls)
(println "hello")
(println (count ls))
(if (<= 0 (count (ls))) true
(println "testing")))
#'user/fun
user=> (fun '())
()
hello
0
ClassCastException clojure.lang.PersistentList$EmptyList cannot be cast to clojure.lang.IFn user/fun (form-init4069658807942123979.clj:5)
有没有人可以帮助我?非常感谢你!
答案 0 :(得分:1)
这个表达式:
(count (ls))
应该是
(count ls)
它试图将ls
的当前值作为函数调用。当ls是值()
时,它会抱怨尝试将空列表作为函数调用,而不是。
答案 1 :(得分:1)