Enumerator Objectは、一連の値を列挙するために繰り返し呼び出される関数オブジェクトの一種です。
Enumerator Objectは主にForループをサポートするために存在し、通常は直接呼び出されることはない。for-loopのドキュメントでは、列挙者が呼び出されるまでのプロセスを詳しく説明しています。スクリプトは、ループの各反復において、どの値をforループの変数に割り当てるかを制御するために、列挙者を実装することができる。
内蔵の列挙器はEnumerator
クラス(Funcから派生)のインスタンスですが、どんな関数オブジェクトでもfor-loopで使用できる可能性があります。
列挙された項目のうち、次の項目を取得します。
Boolean := Enum.Call(&OutputVar1 , &OutputVar2)
Boolean := EnumFunction(&OutputVar1 , &OutputVar2)
型:VarRef
列挙者が値を代入するための出力変数への1つ以上のリファレンス。
This method returns 1 (true) if successful or 0 (false) if there were no items remaining.
単純な関数定義を使用して列挙者を作成することができる。その場合、Callメソッドが暗示されます。
独自の列挙器を定義する場合、パラメータの数は、forループに渡されると予想される変数の数(「in」キーワードの前)と一致させる必要があります。これは通常1か2のどちらかですが、for-loopは最大19個の変数を受け入れることができます。メソッドが様々な数の変数を受け入れることができるようにするには、オプションのパラメータを宣言します。
forループでメソッドを呼び出そうとしたとき、パラメータより変数の方が多い場合(渡されたパラメータが多すぎ、定義されたパラメータが少なすぎる)、または必須パラメータより変数の方が少ない場合は、例外が発生します。