function | since v0.0-927 | clojure.core/dorun | Edit |
(dorun coll)
(dorun n coll)
Forces evaluation of a lazy sequence. Often used to see the effects of a sequence produced via functions that have side effects.
dorun
walks through the successive next
s of the sequence and returns nil.
When lazy sequences are produced via functions that have side effects, any effects other than those needed to produce the first element in the seq do not occur until the seq is consumed. dorun can be used to force any effects. Walks through the successive nexts of the seq, does not retain the head and returns nil.
(defn dorun
([coll]
(when-let [s (seq coll)]
(recur (next s))))
([n coll]
(when (and (seq coll) (pos? n))
(recur (dec n) (next coll)))))