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