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) }
こっちを採用してほしいですね。