gpt4 book ai didi

scala - Scala 中的非尾递归递归有多有用?

转载 作者:行者123 更新时间:2023-12-04 02:23:56 30 4
gpt4 key购买 nike

由于非尾递归递归调用像 Java 一样使用堆栈帧,我会厌倦做任何递归,比方说超过 1,000 次。因此,我会厌倦将它用于大多数事情。

人们真的在 Scala 中使用非尾递归递归吗?如果是这样,我可以使用什么标准来确定它是否可以是非尾递归的?

此外,是否有计划在未来的 Scala 版本中取消此内存限制?

最佳答案

在你不能使用单尾递归的情况下,例如因为你需要在两个函数之间进行选择,一种叫做trampolining的机制。已经描述过了。

可以在 Rúnar Bjarnason 的论文 Stackless Scala With Free Monads 中找到关于此主题的更近期和更深入的讨论。 .

就个人而言,如果您确实遇到 >1K 深度的情况,我会走简单的路线并恢复命令式风格,例如使用可变集合生成器。

关于scala - Scala 中的非尾递归递归有多有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24630692/

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