// Пример иллюстрирует реализацию классом интерфейса IEnumerable // для использования его в операторе foreach type // Генератор чисел Фибоначчи FibGen = class(IEnumerable, IEnumerator) private a,b,n,i: integer; public constructor Create(n: integer); begin i := -1; a := 0; b := 1; Self.n := n; end; function Get_Current: integer; begin if i=0 then Result := 1 else Result := b; end; function System.Collections.IEnumerator.Get_Current: object := Get_Current; function GetEnumerator: IEnumerator := Self; function System.Collections.IEnumerable.GetEnumerator: System.Collections.IEnumerator := Self; function MoveNext: boolean; begin i += 1; Result := i