假设在clojure中我有一个懒惰的序列(a b c d .....)并且假设我有一个单变量函数f(x)。如何将旧的延迟序列转换为新的延迟序列(f(a)f(b)....)。即我寻求转型。谢谢:
(a b ....) [lazy] -> (f(a) f(b) ....) [also lazy]
答案 0 :(得分:6)
map
完成您需要的一切。它保留了你应用它的序列的“懒惰”。
(map f old-lazy-sequence)
=> [new-lazy-sequence]
无限范围的示例:
(take 5
(map (partial * 2)
(range)))
=> (0 2 4 6 8)