Ich habe in Clojure Folgendes versucht und erwartet, dass die Klasse einer nicht faulen Sequenz zurückgegeben wird:
(.getClass (doall (take 3 (repeatedly rand))))
Dies kehrt jedoch immer noch zurück clojure.lang.LazySeq
. Ich vermute, dass doall
die gesamte Sequenz ausgewertet wird, aber die ursprüngliche Sequenz zurückgegeben wird, da sie für das Auswendiglernen immer noch nützlich ist.
Was ist also das idiomatische Mittel, um aus einer faulen eine nicht faule Sequenz zu erstellen?
(vec (take 3 (repeatedly rand)))
doall