mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-18 00:21:35 +00:00
23 lines
516 B
Kotlin
23 lines
516 B
Kotlin
class A {
|
|
tailRecursive fun f1(c : Int, x : Any) {
|
|
if (c > 0) {
|
|
this.f1(c - 1, "tail")
|
|
}
|
|
}
|
|
|
|
tailRecursive fun f2(c : Int, x : Any) {
|
|
if (c > 0) {
|
|
f2(c - 1, "tail 108")
|
|
}
|
|
}
|
|
|
|
tailRecursive fun f3(a : A, x : Any) {
|
|
a.f3(a, "no tail") // non-tail recursion, could be potentially resolved by condition if (a == this) f3() else a.f3()
|
|
}
|
|
}
|
|
|
|
fun box() : String {
|
|
A().f1(1000000, "test")
|
|
A().f2(1000000, "test")
|
|
return "OK"
|
|
} |