Home News DOC Class DL Others Cooker
Documents  >  Tutorial  >  keepon 文
keepon 文

回数によってループを制御するための keepon 文について説明します。


目次:


書式

keepon

回数式

ループの手順

スコープ

予約変数

endkeepon

書式

keepon 文は以下の形式です。


keepon ( 回数式 )

...

endkeepon


keepon 文は回数式によって決定された回数のループを繰り返します。指定回数ループしたら実行制御が endkeepon の次の文に移動します。

実行制御が continue 文か endkeepon に達した場合、ループインデックスを更新した後に実行制御が keepon 文の最初の文に移動します。

実行制御が break に達した場合、実行制御が endkeepon の次の文に移動します。

keepon

keepon 文である事を示すキーワードです。

回数式

回数式は keepon 文のループ回数を決定するための式です。

回数式は int クラスを返す式であり、その値は 1 以上でなければなりません。


回数式がゼロ以下の場合はループが実行されません。

回数式が proxy クラスを返す場合は proxy クラスの実体が自動的に使用されます。proxy クラスの Entity ゲッターを呼び出したのと同じ結果になります。


proxy pro = new proxy(10);

keepon(pro) // pro.Entity is used.

...

eko


proxy クラスの実体は int クラスでなければなりません。

ループの手順

♦1:keepon 文の最初に回数式からループ回数が決定されてループインデックスがゼロに初期化されます。これは最初に一度だけ行われます。回数式がゼロ以下の場合はループ回数がゼロになります


♦2:回数の判定が行われます。ループインデックスとループ回数が等しければ endkeepon の次の文に実行制御を移動します。


♦3:keepon 文の文が実行されます。


♦4:continue 文か endkeepon に達したらループインデックスを 1 加算します。


♦5:♦2に戻ります。

スコープ

keepon 文はスコープを生成します。


スコープ内で宣言された変数はループ毎に再び宣言されて新しいインスタンスが割り当てられます。

前のループの値を次のループに持ち越すことはありません。

予約変数

実行制御が 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

Copyright © Rice All rights reserved.