while 文
書式
while文は以下の形式です。
while ( 条件式 )
...
endwhile
条件式が条件を満たせばwhile文内の文が先頭から実行されます。条件を満たさなければendwhileの次の文に実行制御が移動します。
実行制御がcontinue文かendwhileに達した場合、実行制御が条件式に移動して、条件式の評価からループを繰り返します。
実行制御がbreak文に到した場合、実行制御がendwhileの次の文に移動します。
while
while文である事を示すキーワードです。
条件式
条件式となれる式は以下の二つです。
boolクラスを返す式。
数値。int、long、realクラスを返す式。
boolクラスを返す場合、値がtrueならばループが実行されます。
数値を返す場合、値が非セロならばループが実行されます。
条件式はループ毎に再評価されます。したがって、while文のループの再開位置は条件式です。
スコープ
予約変数
実行制御がwhile キーワードに到達するとスコープが生成され、予約変数__countと__indexが定義されます。
__countと__indexはintクラスの変数です。ゼロから始まるループ回数で初期化されます。
__countと__indexは通常のintクラスの変数のようにオーバーフローが発生することはありません。intクラスの最大値を超えた場合は自動的にゼロに戻ります。
while文の条件式の評価の際には既にスコープが生成されています。したがって、条件式の中に予約変数を使用した場合、その予約変数は現在のwhile文が定義したものになります。
文
while文の文はオプションです。while文内に任意の数だけ存在できます。
endwhile
while文の終了を示すキーワードです。
endwhileの代わりに省略形のewを使用できます。ewもキーワードであることに注意してください。
例
1: | class example |
2: | open method void someMethod() |
3: | while (true) |
4: | if (__count > 10) |
5: | break; |
6: | endif |
7: | endwhile |
8: | em |
9: | ec |