首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有循环的Clojure库递归...重现

没有循环的Clojure库递归...重现
EN

Stack Overflow用户
提问于 2011-10-27 22:54:05
回答 1查看 451关注 0票数 4

我有一个关于iterate和Clojure库函数的问题,这些函数的实现与iterate类似。

代码语言:javascript
复制
(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)))))

没有循环..。循环迭代不会消耗它的堆栈,因为它是在惰性序列上操作的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-27 23:12:53

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7917813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档