gpt4 book ai didi

Clojure 库递归无循环 ... recur

转载 作者:行者123 更新时间:2023-12-01 01:23:57 25 4
gpt4 key购买 nike

我有一个关于迭代和与迭代类似的 Clojure 库函数的问题。

(defn iterate
2 "Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects"
3 {:added "1.0"
4 :static true}
5 [f x] (cons x (lazy-seq (iterate f (f x)))))

没有循环...... recur 是否迭代不消耗它的堆栈,因为它是在一个惰性序列上运行?

最佳答案

是的,每次在惰性序列中强制下一个元素时,都会调用一次迭代,因此没有(立即)递归,也没有堆栈消耗。

关于Clojure 库递归无循环 ... recur,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7917813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com