大きなプロジェクトをKotlinに変換しています。多くの課題がありました。私はKotlinの新しいパターンを学ぶことの一つです。うまくいけば、私はこれを解決するために使用できるパターンがあります。Kotlinを使って `while`ループ内で` when`文を `continue`または` break`する方法
これは私が達成しようとしているコードです。ただし、continue
とbreak
はwhen
ステートメントでは無効です。
while (!mStopped && c.moveToNext()) {
val itemType = c.getInt()
when (itemType) {
1, 2 -> {
doSomething()
if (condition)
continue
doSomethingElse()
}
}
doTheLastStuff()
}
これはコードの非常に短いバージョンです。元のjavaコードはswitch文の中に100行あり、continue
とbreak
のものがたくさんありました。
私が達成しようとしているのは、while
ステートメントで実行をやり直すことです。何をループすなわちを破る/継続するlabelsを使用することができますKotlin
、あなたはKotlinのtailrec「注釈」を最適化することができ、末尾再帰関数にループを回すことができるかどうか、多分参照してください。 –
(注:これは他のものと重複していません。もう1つは機能ループについてです。これは機能していないループに関するものです。 –