Próbowałem następujących w Clojure, oczekując mieć klasę non-lazy sekwencji wrócił:Jak przekonwertować do leniwe sekwencję non-leniwy w Clojure
(.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ętywania.
Co to jest idiomatyczny sposób tworzenia niepłynnej sekwencji z leniwego?
Jestem zaskoczony, nikt nie zapytał, dlaczego jesteś zaniepokojony faktycznym typem zwracanej wartości 'doall' – tar
Możesz przekonwertować na wektor:' (vec (wziąć 3 (wielokrotnie rand))) – Kris