Enumerator-Objekt

Ein Enumerator ist eine Art Funktionsobjekt, das wiederholt aufgerufen wird, um eine Sequenz von Werten zu enumerieren.

Enumeratoren existieren in erster Linie zur Unterstützung von For-Schleifen und werden normalerweise nicht direkt aufgerufen. In der Dokumentation zur For-Schleife wird ausführlich beschrieben, wie ein Enumerator aufgerufen wird. Das Skript kann einen Enumerator implementieren, um zu steuern, welche Werte den Variablen der For-Schleife pro Schleifenwiederholung zugewiesen werden.

Interne Enumeratoren sind Instanzen der Enumerator-Klasse (abgeleitet von Func), aber potenziell kann jedes Funktionsobjekt mit einer For-Schleife verwendet werden.

Inhaltsverzeichnis

Methoden

Call

Ruft das nächste Element in einer Enumeration ab.

Boolesch := Enum.Call(&AusgabeVar1 , &AusgabeVar2)
Boolesch := EnumFunktion(&AusgabeVar1 , &AusgabeVar2)

Parameter

&AusgabeVar1, &AusgabeVar2

Typ: VarRef

Eine oder mehrere Referenzen, die auf Ausgabevariablen verweisen, denen der Enumerator Werte zuweisen kann.

Rückgabewert

Typ: Integer (boolesch)

Diese Methode gibt 1 (true) zurück, wenn sie erfolgreich war, oder 0 (false), wenn keine Elemente mehr übrig sind.

Bemerkungen

Um einen Enumerator zu erstellen, kann eine einfache Funktionsdefinition verwendet werden; in diesem Fall wird die Call-Methode automatisch verwendet.

Bei der Definition eines eigenen Enumerators sollte die Anzahl der Parameter mit der Anzahl der Variablen, die voraussichtlich an die For-Schleife übergeben werden, übereinstimmen (vor dem Schlüsselwort "in"). Dies ist üblicherweise entweder 1 oder 2, aber eine For-Schleife kann bis zu 19 Variablen akzeptieren. Um die Methode eine variierende Anzahl von Variablen akzeptieren zu lassen, deklarieren Sie optionale Parameter.

Es wird eine Ausnahme ausgelöst, wenn die For-Schleife versucht, die Methode aufzurufen, wenn mehr Variablen als Parameter vorhanden sind (zu viele Parameter übergeben, zu wenige definiert) oder wenn weniger Variablen als Pflichtparameter vorhanden sind.

For-Schleife, OwnProps, __Enum (Array), __Enum (Map)