私は Scala を初めて使用し、内部関数を含む例をコーディングする必要があります。たとえば、以下のこの関数を考えると、fib が実行されると、最後の行、つまり fibS(x,0,1) がすぐに実行されることがわかりましたが、z が返された場合、この関数がいつ停止するかわかりません。プログラムは再び 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)
}