gpt4 book ai didi

scala - Scala 中是否有可能保证尾递归优化?

转载 作者:行者123 更新时间:2023-12-01 07:11:22 26 4
gpt4 key购买 nike

假设我有以下代码

def foo(x:Int):Unit = {
if (x == 1) println ("done")
else foo(scala.util.Random.nextInt(10))
}

是否保证编译器进行尾递归优化?

最佳答案

是的。要确定添加 @tailrec对您的方法的注释。如果编译器不使用尾递归进行编译,这将导致编译器抛出错误。

@tailrec
def foo(x:Int):Unit = {
if (x == 1) println ("done")
else foo(scala.util.Random.nextInt(10))
}

关于scala - Scala 中是否有可能保证尾递归优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8163203/

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