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
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal