keepon文
書式
keepon文は以下の形式です。
keepon ( 回数式 )
...
endkeepon
keepon文は回数式によって決定された回数のループを繰り返します。指定回数ループしたら実行制御がendkeeponの次の文に移動します。
実行制御がcontinue文かendkeeponに達した場合、ループインデックスを更新した後に実行制御がkeepon文の最初の文に移動します。
実行制御がbreakに達した場合、実行制御がendkeeponの次の文に移動します。
keepon
keepon文である事を示すキーワードです。
回数式
回数式はkeepon文のループ回数を決定するための式です。
回数式はintクラスを返す式であり、その値は1以上でなければなりません。
回数式がゼロ以下の場合はループが実行されません。
ループの手順
♦1:keepon文の最初に回数式からループ回数が決定されてループインデックスがゼロに初期化されます。これは最初に一度だけ行われます。回数式がゼロ以下の場合はループ回数がゼロになります
♦2:回数の判定が行われます。ループインデックスとループ回数が等しければendkeeponの次の文に実行制御を移動します。
♦3:keepon文の文が実行されます。
♦4:continue文かendkeeponに達したらループインデックスを1加算します。
♦5:♦2に戻ります。
スコープ
予約変数
実行制御がkeeponキーワードに到達するとスコープが生成され、予約変数__indexと__countが定義されます。
__indexと__countはintクラスの変数です。ゼロから始まるループ回数で初期化されます。
keepon文の回数式の評価の際には既にスコープが生成されています。したがって、回数式の中に予約変数を使用した場合、その予約変数は現在のkeepon文が定義したものです。
文
keepon文の文はオプションです。keepon文内に任意の数だけ存在できます。
endkeepon
keepon文の終了を示すキーワードです。
endkeeponの代わりに省略形のekoを使用できます。ekoもキーワードであることに注意してください。
例
1: | class example |
2: | open method void someMethod() |
3: | message m; // dialog box. |
4: | keepon (5) |
5: | m.Show(__index); // 0, 1, 2, 3, 4 |
6: | endkeepon |
7: | em |
8: | ec |