break、continue、ラベル
ループの流れを正確に制御する
「break、continue、ラベル」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。
ループを制御する
早く停止したり、1回分の処理をスキップしたりしたいことがあります。Dartでは、ループの内部からbreakとcontinueを使ってループを制御できます。🕹️
breakを使ってみる
break文はループを直ちに停止し、その直後のコードへ移動します。以降の処理は実行されません。
for (var i = 0; i < 10; i++) {
if (i == 3) break;
print(i);
}一致したら停止する
breakの一般的な用途は検索です。リストを順に処理し、目的のものを見つけた瞬間にstopすることで、不要な処理を省けます。
for (var n in nums) {
if (n == target) break;
}continueを使ってみる
continue文は現在の処理の残りをスキップし、ループの次の反復へ直接移動します。
for (var i = 0; i < 5; i++) {
if (i == 2) continue;
print(i);
}continueでフィルタリングする
continueを使うと、関心のない項目をskipできます。たとえば奇数を無視し、偶数だけを処理できます。
for (var n in nums) {
if (n.isOdd) continue;
print(n);
}breakとcontinueの比較
違いを整理しましょう。breakはループ全体を終了しますが、continueは現在の処理だけを終了して次へ進みます。
内側のループに作用する
デフォルトでは、breakとcontinueはnearestな外側のループにのみ作用します。内側のループからこの方法で外側のループを停止することはできません。
for (var i = 0; i < 2; i++) {
for (var j = 0; j < 5; j++) {
if (j == 1) break; // inner only
}
}ラベルがある理由
ネストしたループの内側から外側のループを制御するには、labelを付けます。ループの前に名前とコロンを記述します。
outer:
for (var i = 0; i < 3; i++) {
// ...
}ラベル付きbreak
breakとlabelを一緒に書くと、ネストした内側のループの深い位置からでも、指定した名前のループ全体を終了できます。
outer:
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if (j == 1) break outer;
}
}ラベル付きcontinue
ラベル付きcontinueは、指定した外側のループの次の処理へ移動します。内側と外側の本体の残りをスキップします。
outer:
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if (j == 1) continue outer;
}
}ラベルは慎重に使う
ラベルは強力ですが、readabilityを損なうことがあります。ネストしたループでのみ使用し、可能ならヘルパー関数を優先してください。
クイックチェック
ループ内でcontinueに到達すると、次に何が起こりますか?
まとめ
ループを制御する方法を学びました。breakは停止し、continueはスキップします。また、ラベルを使うと、ネストしたループから外側のループを指定できます。🎯
よくある質問
「break、continue、ラベル」レッスンは無料ですか?
はい。「break、continue、ラベル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。
「break、continue、ラベル」で何を学びますか?
ループの流れを正確に制御する ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Dart Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「break、continue、ラベル」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDart Academyレッスンでコードを書いて実行できますか?
はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 定番のforループ
- whileとdo-whileループ
- コレクションに対するfor-in
- break、continue、ラベル