3
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=>
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=>
(repeat 10 1)
返回LazySeq
(list 1 2 3)
返回PersistentList
显然没有办法知道多少个项是一个懒惰的序列,直到该序列被评估的方式。
counted?
对于实现接口clojure.lang.Counted
的任何类都返回true。
好的...只是为了完成图片。即使在doall计数后?返回false。 doall返回相同的列表,LazySeq。您可以随时使用(class xs)检查类型。要将LazySeq转换为PersistentList,可以使用(into()myLazySeq) – yalis 2011-03-19 19:01:21