RosettaCodeData/Task/Apply-a-callback-to-an-array/ALGOL-68/apply-a-callback-to-an-arra...

18 lines
338 B
Plaintext

PROC call back proc = (INT location, INT value)VOID:
(
printf(($"array["g"] = "gl$, location, value))
);
PROC map = (REF[]INT array, PROC (INT,INT)VOID call back)VOID:
(
FOR i FROM LWB array TO UPB array DO
call back(i, array[i])
OD
);
main:
(
[4]INT array := ( 1, 4, 9, 16 );
map(array, call back proc)
)