KotlinにもInt.timesがあって簡単にループできるんだけど、こいつカウンターがない…。
IntelliJからメソッドジャンプしてみたら、以下のようになっていた。
package kotlin
public inline fun Int.times(body : () -> Unit) {
var count = this;
while (count > 0) {
body()
count--
}
}
うん、まぁわかる。わかるけれどカウンター付けてよ!
ということで、自分で作った。拡張関数は便利すなぁ…。
public inline fun Int.times(body : (index:Int) -> Unit) {
var index = 0
while (index < this) {
body(index)
index++
}
}
使い方はこうです。
10.times { index ->
println(index)
}
こっちを採用してほしいですね。
