【发布时间】:2016-01-12 23:54:52
【问题描述】:
假设我有一个名为 numbers 的惰性序列,它给了我一个无限的数字序列:0、1、2、3、4、5、6...
(def numbers (iterate inc 0))
我通过将无穷大传递给函数 take 来限制无穷大。例如:
(take 3 numbers)
; > (0 1 2)
我在问自己如何为惰性序列的成员添加一些后处理。更具体地说: 当我使用 take 时,我将如何声明会产生以下输出的函数“numbers-doubled”:
(take 3 numbers-doubled)
; > ("00" "11" "22")
【问题讨论】:
-
(iterate inc 0)只是(range) -
对!好吧..但为什么不呢
-
唯一的情况是当您真正关心避免分块序列时,这通常是其他地方的问题。
标签: clojure functional-programming lazy-evaluation clojurescript lazy-sequences