Clojure 1.2.0
user=> (def x (repeat 10 1))
#'user/x
user=> (counted? x)
false
user=> (def x (list 1 2 3))
#'user/x
user=> (counted? x)
true
user=>
答案 0 :(得分:6)
(repeat 10 1)
返回LazySeq
(list 1 2 3)
返回PersistentList
显然,在评估该序列之前,无法知道延迟序列中有多少项。
对于任何实现counted?
接口的类, clojure.lang.Counted
都返回true。