continue 文
書式
continue文は以下の形式です。
continue ;
ループ文の現在のループを終了し、次のループを実行します。
continue文以降の文は無視され、continue文を囲む直近のループ文の先頭に実行制御がジャンプします。
continue
continue文である事を示すキーワードです。
セミコロン
continue文の終了はセミコロンで表します。
ループの先頭
continue文によって実行制御がループ文の先頭に戻りますが、その位置はループ文の種類により異なります。
while文
while ( 条件式 )
...
continue;
...
endwhile
条件式はループ実行の可否を評価します。
条件式はループ毎に評価されます。したがって、条件式の評価からループを再開します。
each文
each ( コレクション式 )
...
continue;
...
endeach
コレクション式はターゲットとなるコレクションを決定します。
ターゲットはeach文の最初に一度だけ評価されます。したがって、コレクション式の次の文からループを再開します。
fromto文
fromto ( 開始インデックス, 終了インデックス )
...
continue;
...
endfromto
開始インデックスと終了インデックスはループインデックスの開始値と終了値を決定します。
開始値と終了値は文の最初に一度だけ評価されますが、ループインデックスの現在値はループ毎に評価されます。したがって、ループインデックスの現在値の評価からループを再開します。
keepon文
keepon ( 回数式 )
...
continue;
...
endkeepon
回数式はループの総数を決定します。
総数は文の最初に一度だけ評価されますが、実行回数の累計値はループ毎に評価されます。したがって、累計値の評価からループを再開します。
例
1: | class example |
2: | open method void someMethod() |
3: | keepon(10) |
4: | if(__index < 5) |
5: | continue; |
6: | endif |
7: | endkeepon |
8: | em |
9: | ec |
someMethod()メソッドが呼び出された場合、keeponループに突入します。
ループの先頭で累計実行回数が予約変数__indexに格納されます。
累計実行回数が五回以下の場合はcontinue文で実行制御が戻ります。
六回目以降はendkeeponで実行制御が戻ります。