mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-11 23:28:49 +02:00

- fix for-in loop for string const array - add some test from Alexander S. Klenin (issue #0014990) git-svn-id: trunk@14041 -
39 lines
559 B
ObjectPascal
39 lines
559 B
ObjectPascal
{$mode objfpc}
|
|
{$apptype console}
|
|
|
|
type
|
|
T = class
|
|
stop: boolean;
|
|
F: Integer;
|
|
function MoveNext: Boolean;
|
|
property Current: Integer read F;
|
|
end;
|
|
|
|
Twice = type Integer;
|
|
|
|
function T.MoveNext: Boolean;
|
|
begin
|
|
Result := not stop;
|
|
stop := true;
|
|
end;
|
|
|
|
operator enumerator(a: Integer): T;
|
|
begin
|
|
Result := T.Create;
|
|
Result.F := a;
|
|
Result.stop := false;
|
|
end;
|
|
|
|
operator enumerator(a: Twice): T;
|
|
begin
|
|
Result := T.Create;
|
|
Result.F := a * 2;
|
|
Result.stop := false;
|
|
end;
|
|
|
|
var
|
|
i: Integer;
|
|
begin
|
|
for i in Twice(1) do
|
|
Writeln(i);
|
|
end. |