多重ループからのbreak
複雑なプログラムを組んでいる場合、多重ループを実装することはよくあります。
通常ActionScriptでループを抜ける場合はbreakを使用します。
// forの例
var i:int;
for (i = 0; i < 10; i++) {
if (i == 5) {
break;
}
}
// whileの例
i = 0;
while (i < 10) {
if (i == 5) {
break;
}
i++;
}
上記は1つ上のループに抜ける場合でしたが、多重ループを一度に抜ける場合は次のように実装します。
// 多重ループの例
var i:int;
var j:int;
var view:int = 0;
out : for (i = 0; i < 10; i++) {
for (j = 0; j < 10; j++) {
view = i * j;
trace(view.toString());
if (view > 50) {
break out;
}
}
}
forやwhileの直前にラベルを設定します。上記の例ですと「out」というラベルを設定しています。
次にbreakの後、ホワイトスペースを挟んでラベル名を記述すると、設定したラベルのループの外まで抜けることが出来ます。
どのループにもラベルは設定できるので、必要に応じて使用して下さい。
ただし、ActionScript3.0以降しか使用できません。