如何解决StackOverFlowError Clojure 更改列表顺序
我希望能够像 clojure 这样的列表
(1 2 3 4 5 6 7 8 9)
并像这样更改顺序:
(9 8 7 6 5 4 3 2 1)
我找不到用于(反转?这是一个好词吗?)将列表返回到前面或任何您想调用该操作的内置函数,如果有的话,如果有人指出这一点,我将非常感谢因为创建这个函数不是我的目标,它只是我需要通过的一个步骤来做我真正想做的事情。无论如何,我编写了一个应该执行此操作的函数,但出现此错误:
StackOverflowError clojure.core/seq (core.clj:133)
已解决:内置函数 reverse
解决了我的问题,谢谢!
(defn turn-list
([l]
(turn-list (rest l) (list (first l))))
([l1 l2]
(if (empty? l1)
l2
(turn-list (conj l1 (first l2)) (rest l2)))))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。