在Clojure中迭代向量

时间:2013-11-23 03:13:53

标签: clojure clojure-contrib

给定一个向量,或者可能是嵌套向量,如何在Clojure中迭代向量(嵌套向量)n次?而且,如何将每个迭代级别输出到向量中?由此输出向量以初始条件开始,即输入向量(嵌套向量),然后是后续迭代。

1 个答案:

答案 0 :(得分:2)

我认为你想要的是iterate。它返回一个延迟的迭代序列,从输入开始。所以,例如:

(def init (range 10))

(take 3 (iterate #(map inc %) init)) 
;; gives ((0 1 2 3 4 5 6 7 8 9) (1 2 3 4 5 6 7 8 9 10) (2 3 4 5 6 7 8 9 10 11))