1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 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.
|