Thema: Delphi Goto

Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#21

Re: Goto

  Alt 22. Aug 2007, 22:16
Zitat von scrat1979:
//EDIT: @elvis - Was sind denn Iteratoren? Evtl. kenne ich nur den Begriff nicht, jetzt bin ich aber neugierig geworden und Google liefert mir nichts...
Damit kann man eine for-in Iteration sozusagen von innen aufbauen und man muss nur einzelne Werte rauswerfen, die dann ein Schleifendurchlauf im for-in werden.
Sinnbefreites Beispiel für die nichtssagende Erklärung :
Delphi-Quellcode:
type
  Sample = class
  public
    class method Test(startValue, endValue : Integer) : sequence of Integer; iterator;
  end;

implementation

class method Sample.Test(startValue, endValue : Integer) : sequence of Integer;
begin
  for i : Integer := startValue to endValue do
    yield i;
end;
Könnte man so benutzen:
Delphi-Quellcode:
for i in Sample.Test(2, 10) do
  Console.WriteLine(i);
Der wirklich Iterator (oder Enumerator in MS-speak) wird vom Compiler als eine state machine umgesetzt, die bei jedem Aufruf auf MoveNext zum nächsten yield springt.
Robert Giesecke
  Mit Zitat antworten Zitat