Wypróbowałem następujące czynności w Clojure, spodziewając się, że zwrócona zostanie klasa nieleniwej sekwencji:
(.getClass (doall (take 3 (repeatedly rand))))
Jednak to wciąż powraca clojure.lang.LazySeq
. Domyślam się, że doall
ocenia całą sekwencję, ale zwraca oryginalną sekwencję, ponieważ jest nadal przydatna do zapamiętania.
Więc jaki jest idiomatyczny sposób tworzenia nieleniwej sekwencji z leniwej?
doall