blob: e59c1d966de11f2d986d69653d361a37328359df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
program tforin4;
// test that for-in loop allows array modifications inside the loop body
{$mode objfpc}{$H+}
{$APPTYPE CONSOLE}
type
TMyArray = array of integer;
function return_array: TMyArray;
begin
SetLength(result, 3);
result[0] := 1;
result[1] := 2;
result[2] := 3;
end;
procedure TestArrayReturn;
var
i: integer;
begin
for i in return_array do
WriteLn(i);
end;
procedure TestDynamicArray;
var
i: integer;
a: array of integer;
begin
setlength(a, 3);
a[0]:=1;
a[1]:=2;
a[2]:=3;
for i in a do
begin
WriteLn(i);
a[2] := -1;
end;
end;
procedure TestOpenArray(a: array of integer);
var
i: integer;
begin
for i in a do
begin
WriteLn(i);
a[2] := -1;
end;
end;
begin
TestOpenArray([1,2,3]);
TestDynamicArray;
TestArrayReturn;
end.
|