【问题标题】:Convert an old lazy sequence to a new lazy sequence via application of univariate function通过应用单变量函数将旧的惰性序列转换为新的惰性序列
【发布时间】: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 lazy-evaluation


    【解决方案1】:

    map 可以满足您的一切需求。它保留了应用它的序列的“惰性”。

    (map f old-lazy-sequence)
    => [new-lazy-sequence]
    

    无限范围示例:

    (take 5 
      (map (partial * 2) 
           (range)))
    => (0 2 4 6 8)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      • 2011-07-21
      • 2011-03-06
      相关资源
      最近更新 更多