pascalabcnet/TestSuite/foreach1.pas

48 lines
903 B
ObjectPascal
Raw Permalink Normal View History

2018-08-08 19:03:44 +03:00
type TClass = class(System.Collections.IEnumerable)
2015-05-14 22:35:07 +03:00
public function GetEnumerator : System.Collections.IEnumerator;
begin
Result := nil;
end;
end;
var s : string;
arr : array[1..3] of integer;
arr2 : array of real;
set1 : set of byte;
lst : System.Collections.ArrayList;
lst2 : System.Collections.Generic.List<integer>;
obj : TClass;
begin
s := 'ab';
var i := 0;
foreach c : char in s do
begin
if i = 0 then assert(c='a')
else assert(c='b');
Inc(i);
end;
i := 0;
arr[1] := 1; arr[2] := 2; arr[3] := 3;
2018-08-08 19:03:44 +03:00
foreach v : integer in arr do
2015-05-14 22:35:07 +03:00
begin
case i of
0 : assert(v=1);
1 : assert(v=2);
2 : assert(v=3);
end;
Inc(i);
2018-08-08 19:03:44 +03:00
end;
2015-05-14 22:35:07 +03:00
i := 0;
SetLength(arr2,2);
arr2[0] := 3.14; arr2[1] := 2.71;
foreach v : real in arr2 do
begin
case i of
0 : assert(v=3.14);
1 : assert(v=2.71);
end;
Inc(i);
end;
end.