Apply a callback to an array: Difference between revisions

Content added Content deleted
imported>Acediast
(→‎{{header|COBOL}}: fixed to standard USAGEs)
imported>Acediast
(→‎{{header|COBOL}}: replaced nominal fn ref w/ pointer)
Line 799: Line 799:
{{Works with|COBOL 2002}}
{{Works with|COBOL 2002}}
Basic implementation of a map function:
Basic implementation of a map function:
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION.
<syntaxhighlight lang="cobolfree"> >>SOURCE FORMAT IS FREE
IDENTIFICATION DIVISION.
PROGRAM-ID. map.
PROGRAM-ID. map.


DATA DIVISION.
DATA DIVISION.
LOCAL-STORAGE SECTION.
LOCAL-STORAGE SECTION.
01 i USAGE IS INDEX.
01 i USAGE IS INDEX.
01 table-size CONSTANT AS 30.
01 table-size CONSTANT AS 30.
LINKAGE SECTION.
LINKAGE SECTION.
01 table-param.
01 table-param.
03 table-values USAGE IS FLOAT-LONG OCCURS table-size TIMES.
03 table-values USAGE IS FLOAT-LONG, OCCURS table-size TIMES.
01 func-id PICTURE IS X(30).
01 func-ptr USAGE IS PROGRAM-POINTER.


PROCEDURE DIVISION USING BY REFERENCE table-param, func-id.
PROCEDURE DIVISION USING BY REFERENCE table-param, BY VALUE func-ptr.
PERFORM VARYING i FROM 1 BY 1 UNTIL i GREATER THAN table-size
PERFORM VARYING i FROM 1 BY 1 UNTIL i IS GREATER THAN table-size
CALL func-id USING BY REFERENCE table-values(i)
CALL func-ptr USING BY REFERENCE table-values(i)
END-PERFORM
END-PERFORM
GOBACK.
GOBACK.


END PROGRAM map.</syntaxhighlight>
END PROGRAM map.</syntaxhighlight>


=={{header|CoffeeScript}}==
=={{header|CoffeeScript}}==