2016-03-31 23 views
0

Belirli bir listenin sayısının 0 olup olmadığını kontrol etmek istiyorum, ancak boş bıraktığım kodum EmptyList clojure.lang.IFn dosyasına dönüştürülemiyor.EmptyList clojure.lang.IFn dosyasına dönüştürülemiyor

(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) 

Herhangi biri bana yardımcı olabilir mi? Çok teşekkür ederim!

cevap

1

bu ifadesi: bir fonksiyonu olarak ls mevcut değerini aramaya çalışıyor

(count ls) 

(count (ls)) 

olmalıdır. Ls değeri () olduğunda, boş listeyi bir işlev olarak çağırmaya çalışmaktan şikayet eder.

+0

tamam! Bu benim dikkatsizliğim! Çok teşekkür ederim! –

İlgili konular