私がやりたいどんなときから戻る:休憩や表現が
when(transaction.state) {
Transaction.Type.EXPIRED,
//about 10 more types
Transaction.Type.BLOCKED -> {
if (transaction.type == Transaction.Type.BLOCKED && transaction.closeAnyway) {
close(transaction)
break //close if type is blocked and has 'closeAnyway' flag
}
//common logic
}
//other types
}
私はbreak
を書き込むことはできません。
「ブレーク」と「継続」「のとき」文では許可されていません。ラベルを使用して外側のループを継続/中断することを検討してください。
return/break
からwhen
まではどこですか?またはそれを解決する最善の方法は何ですか?
ちょうど 'else'ブロックに "共通ロジック" のものを置くことについて? –
@OliverDain、良いアイデア!しかし、 'break'が必要なすべてのケースを置き換えるのでしょうか? – Feeco
私はブレーク機能がいいと思っています(ただし、いつでもif/elseを行うことができます)。 Kotlinチームが実装する(またはしない)ようになるまで、回避策を提案するだけです。 –