【发布时间】:2012-08-26 06:50:27
【问题描述】:
假设在 clojure 中我有一个惰性序列 (a b c d .....) 并假设我有一个单变量函数 f(x)。我如何将旧的惰性序列转换为新的惰性序列 (f(a) f(b) ....)。即我寻求转变。谢谢:
(a b ....) [lazy] -> (f(a) f(b) ....) [also lazy]
【问题讨论】:
假设在 clojure 中我有一个惰性序列 (a b c d .....) 并假设我有一个单变量函数 f(x)。我如何将旧的惰性序列转换为新的惰性序列 (f(a) f(b) ....)。即我寻求转变。谢谢:
(a b ....) [lazy] -> (f(a) f(b) ....) [also lazy]
【问题讨论】:
map 可以满足您的一切需求。它保留了应用它的序列的“惰性”。
(map f old-lazy-sequence)
=> [new-lazy-sequence]
无限范围示例:
(take 5
(map (partial * 2)
(range)))
=> (0 2 4 6 8)
【讨论】: