【发布时间】:2009-10-29 04:33:42
【问题描述】:
我在 Clojure 中尝试了以下操作,期望返回非惰性序列的类:
(.getClass (doall (take 3 (repeatedly rand))))
但是,这仍然返回clojure.lang.LazySeq。我的猜测是doall 确实评估了整个序列,但返回原始序列,因为它仍然对记忆有用。
那么从惰性序列创建非惰性序列的惯用方法是什么?
【问题讨论】:
-
我很惊讶没有人问你为什么关心
doall的返回值的实际类型 -
您可以转换为矢量:
(vec (take 3 (repeatedly rand)))