反復子名段落は、この見出し部で反復子の定義を導入することを示し、その反復子を識別する名前を指定する。メソッド名を指定できる場所であれば、反復子名を指定できる。静的反復子またはインスタンス反復子のいずれかを定義するために使用できる。
一般形式
構文規則
- 反復子の手続き部の見出しには Yielding 指定が必要。Yielding に指定する項目の型で、反復子の型が決まる。
- 属性句については、「ATTRIBUTE、CUSTOM-ATTRIBUTE 句」のトピックに記載されている。
一般規則
- T 型の反復子の場合、ネストされたクラスが自動的に生成され、IEnumerable[T] と IEnumerator[T] の両方が実装される。
- 反復子名段落で指定した名前のメソッドも生成される。このメソッドは、GR 1 で定義されたネストされた型の項目を返す。
- 反復子のコンテキストの外側にあるコードでこのメソッドを呼び出すことで反復子オブジェクトが返され、PERFORM THROUGH コレクション クラスの構文 (PERFORM 文の書き方 5 を参照) を使用して反復できる。
- 反復の順序は、各 EXIT ITERATOR 文が実行された際に、後に続く RETURNING の値によって決まる。