[fpc-devel] Re: enumerators
klenin at gmail.com
Mon Nov 15 01:55:34 CET 2010
On Sun, Nov 14, 2010 at 08:52, Graeme Geldenhuys
<graemeg.lists at gmail.com> wrote:
> If you use full-blown Iterator classes (instead of just for-in style)
> you get a lot more too:
> * full control over iteration
> - move forward
> - move back
> - reset iteration
> - peek forward/back
> - skip, etc...
> * you can extent it with regular expressions to only iterate what is
> applicable, and what
> matches the regex.
> * you completely hide the container implementation (TList,
> TObjectList, TFPList, etc)
> and simply supply the developer with a consistent iteration
> interface. So even if the
> container implementation changes, the higher level iteration code will not.
I agree that a more powerful iterator interface would be a good thing too.
However, the clarity and brevity of for..in interface should not be
I eagerly await a moment when Lazarus switches to FPC 2.4.2 so I could
use for..in in the Lazarus code ;-)
If your extended iterator implements enumerator interface,
you can get the best of both worlds, especially if the "index" extension
I proposed at the end of the page is implemented.
Alexander S. Klenin
More information about the fpc-devel