Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,26 @@
|
|||
MODULE Callback EXPORTS Main;
|
||||
|
||||
IMPORT IO, Fmt;
|
||||
|
||||
TYPE CallBack = PROCEDURE (a: CARDINAL; b: INTEGER);
|
||||
Values = REF ARRAY OF INTEGER;
|
||||
|
||||
VAR sample := ARRAY [1..5] OF INTEGER {5, 4, 3, 2, 1};
|
||||
callback := Display;
|
||||
|
||||
PROCEDURE Display(loc: CARDINAL; val: INTEGER) =
|
||||
BEGIN
|
||||
IO.Put("array[" & Fmt.Int(loc) & "] = " & Fmt.Int(val * val) & "\n");
|
||||
END Display;
|
||||
|
||||
PROCEDURE Map(VAR values: ARRAY OF INTEGER; size: CARDINAL; worker: CallBack) =
|
||||
VAR lvalues := NEW(Values, size);
|
||||
BEGIN
|
||||
FOR i := FIRST(lvalues^) TO LAST(lvalues^) DO
|
||||
worker(i, values[i]);
|
||||
END;
|
||||
END Map;
|
||||
|
||||
BEGIN
|
||||
Map(sample, NUMBER(sample), callback);
|
||||
END Callback.
|
||||
Loading…
Add table
Add a link
Reference in a new issue