mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-10 08:31:29 +00:00
And String.length as well. This is done for JVM interoperability: java.lang.CharSequence is an open class and has a function 'length()' which should be implemented in subclasses somehow. A minor unexpected effect of this is that String.length() is now a compile-time constant (it wasn't such as a property because properties are not supported in compile-time constant evaluation) #KT-3571 Fixed
9 lines
299 B
Kotlin
9 lines
299 B
Kotlin
tailRecursive fun String.repeat(num : Int, acc : StringBuilder = StringBuilder()) : String =
|
|
if (num == 0) acc.toString()
|
|
else repeat(num - 1, acc.append(this))
|
|
|
|
fun box() : String {
|
|
val s = "a".repeat(10000)
|
|
return if (s.length() == 10000) "OK" else "FAIL: ${s.length()}"
|
|
}
|