我是 Scala 新手,我必须编写包含内部函数的示例。例如下面给出这个函数,我知道当执行 fib 时,它会立即执行最后一行,即 fibS(x,0,1),但是我不知道这个函数什么时候停止,因为如果返回 z,不会' t 程序再次调用 fibS(x,0,1)?谢谢
def fib(x: Long ): Long = {
def fibS(i: Long, z: Long, y: Long): Long = {
if (i > 0)
fibS(i-1, z+y, z)
else z
}
fibS(x, 0, 1)
}