[fpc-pascal] Forin Test

Dariusz Mazur darekm at emadar.com
Sat Nov 7 13:29:17 CET 2009


Paul Ishenin pisze:
> darekm wrote:
>> I've play with forin construction. To my work I need more than one 
>> per collection.
>> In attach is one of example program.
>> Can someone review it. is this proper construction.
> operator enumerator (AEnumerator: TEnumerator): TEnumerator;
> begin
>  Result := AEnumerator
> end;
>
> It is a bit hackish but I see problems with it.
Where?
Its work now with current compilator. Are You plan to disable this?

>
>  for i in List.up do
>    WriteLn(i);
>
> will be possible to transform into
>
>  for i in List using Up do
>    WriteLn(i);
>
> or
>
>  for i in List using GetEnumerator(DoUpArgument)
>
> current "for i in List" will be just short form of "for i in List 
> using GetEnumerator"
But this complicate both: source and compilator.
And second: You cant pass enumerator as param.

procedure MyProc(aEnum: tObject);
var
   i : integer;
begin
  for i in aEnum do
   writeln(i);
end;


MyProc(List.up);
MyProc(List)




-- 
  Darek







More information about the fpc-pascal mailing list