Dorun 可以调用为 (dorun n coll)。以这种方式调用时,dorun 会强制从 coll 中获取 n+1 个元素,这似乎不太直观。尽管如此,我并不一定认为这是一个缺陷。因为它并没有偏离文档中的行为,因为根本就没有文档说明——该函数的两个参数形式在文档字符串中未提及。
`
user=> (defn printing-range [n] (lazy-seq (println n) (cons n (printing-range (inc n)))))
'user/printing-range
user=> (dorun 0 (printing-range 1))
1
nil
user=> (dorun 3 (printing-range 1))
1
2
3
4
nil
`