art*_*lla 3 clojure lazy-evaluation
假设在clojure中我有一个懒惰的序列(abcd .....)并且假设我有一个单变量函数f(x).如何将旧的延迟序列转换为新的延迟序列(f(a)f(b)....).即我寻求转型.谢谢 :
(a b ....) [lazy] -> (f(a) f(b) ....) [also lazy]
Run Code Online (Sandbox Code Playgroud)
map做你需要的一切.它保留了您应用它的序列的"懒惰".
(map f old-lazy-sequence)
=> [new-lazy-sequence]
Run Code Online (Sandbox Code Playgroud)
无限范围的示例:
(take 5
(map (partial * 2)
(range)))
=> (0 2 4 6 8)
Run Code Online (Sandbox Code Playgroud)