38 lines
909 B
Plaintext
38 lines
909 B
Plaintext
$ include "seed7_05.s7i";
|
|
|
|
const func type: container (in type: elemType) is func
|
|
result
|
|
var type: container is void;
|
|
begin
|
|
container := array elemType;
|
|
|
|
global
|
|
|
|
const func container: map (in container: aContainer,
|
|
inout elemType: aVariable, ref func elemType: aFunc) is func
|
|
result
|
|
var container: mapResult is container.value;
|
|
begin
|
|
for aVariable range aContainer do
|
|
mapResult &:= aFunc;
|
|
end for;
|
|
end func;
|
|
|
|
end global;
|
|
end func;
|
|
|
|
const type: intContainer is container(integer);
|
|
var intContainer: container1 is [] (1, 2, 4, 6, 10, 12, 16, 18, 22);
|
|
var intContainer: container2 is 0 times 0;
|
|
|
|
const proc: main is func
|
|
local
|
|
var integer: num is 0;
|
|
begin
|
|
container2 := map(container1, num, num + 1);
|
|
for num range container2 do
|
|
write(num <& " ");
|
|
end for;
|
|
writeln;
|
|
end func;
|