【发布时间】:2019-08-03 13:46:48
【问题描述】:
通常我执行的序列操作,我总是使用doall 来实现它们。因此,我想知道惰性序列的实际用途是什么?
我在网上看到的所有使用惰性序列的示例都是用于构建 seq - (take 5 (range)) - 此代码也可以重写为 - (range 5) - 我的意思是所有 seq 生成都可以即使没有lazy seq也可以完成,那么他们的实际需求是什么?
我只看到了用于生成数字序列的惰性序列示例,还有其他应用程序吗?
【问题讨论】:
-
我可以推荐阅读关于 SICP 中流的章节mitpress.mit.edu/sites/default/files/sicp/full-text/book/…
-
我通常使用
(vec ...)来强制非懒惰。还有mapv和我自己的宏forv。我只有 1% 的时间使用惰性(对于非常大的序列)。它不应该是默认的恕我直言。
标签: clojure