gpt4 book ai didi

clojure - 转换为循环... recur 递归

转载 作者:行者123 更新时间:2023-12-01 18:43:30 24 4
gpt4 key购买 nike

据我了解,在 Clojure 中递归而不使用循环 .. recur 语法对于短序列来说可能不是问题。但是,使用loop .. recur 语法是编写递归函数的首选方法。因此,我想从首选方法开始。

但是,我一直在努力转换这个函数[编辑],它返回序列的骨架(没有值的序列结构)

(defn skl
[tree]
(map skl (filter seq? tree)))

使用此数据进行测试

(def test_data1 '(1 (2 3) ( ) (( )) :a))
(def test_data2 '(1 2 (3 4) (5 ( 6 7 8))))

循环..重复语法。任何想法或示例指示将不胜感激。

最佳答案

循环和递归是简单迭代的变形。然而,下降到树本质上是递归的。您必须手动维护堆栈才能将其转换为单个迭代。因此,您的代码没有“简单”的转换。

关于clojure - 转换为循环... recur 递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7420873/

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