. @inline , , , .
"" , - . , . , rec :
@tailrec
private def rec(x0: Int) : Int =
var x: Int = x0
while (true) {
if (x < 3) x else {
if (x % 3 == 0)
return corec(x-1)
else {
x = x-4
continue
}
}
}
, corec , . @inline .
, , @tailrec? , . , rec ( , corec, rec).
, , corec .
@inline , inline corec, rec, corec, :
@tailrec
private def rec(x0: Int) : Int =
var x: Int = x0
while (true) {
if (x < 3) x else {
if (x % 3 == 0)
return rec((x-1) - 1)
else {
x = x-4
continue
}
}
}
, . . . , .
TailCalls - . . API.