2016-03-31 7 views
0

指定されたリストの番号が0かどうかをチェックしたいのですが、EmptyListがclojure.lang.IFnにキャストできません。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) 

誰かが私を助けることができますか?どうもありがとうございます!

答えて

1

この式:

(count (ls)) 

は、関数としてlsの現在の値を呼び出すようにしようとしている

(count ls) 

でなければなりません。 lsが値()である場合、空のリストを関数として呼び出そうとしていると文句を言う。そうではない。

+0

大丈夫です!それは私の不注意です!どうもありがとうございます! –

関連する問題