Apply a callback to an array: Difference between revisions

Content added Content deleted
Line 2,624: Line 2,624:
For creating a new array, we can use the Array.map method:
For creating a new array, we can use the Array.map method:
<lang ruby>[1,2,3,4,5].map{|i| i**2 }</lang>
<lang ruby>[1,2,3,4,5].map{|i| i**2 }</lang>
=={{header|Simula}}==
<lang simula>BEGIN

! APPLIES A CALLBACK FUNCTION TO AN ARRAY ;
PROCEDURE APPLY(ARR, FUN);
REAL ARRAY ARR;
PROCEDURE FUN IS REAL PROCEDURE FUN(X); REAL X;;
BEGIN
INTEGER I;
FOR I := LOWERBOUND(ARR, 1) STEP 1 UNTIL UPPERBOUND(ARR, 1) DO
ARR(I) := FUN(ARR(I));
END APPLY;

! CALLBACK ;
REAL PROCEDURE SQUARE(X); REAL X; SQUARE := X * X;

REAL ARRAY A(1:5);
INTEGER I;
FOR I := 1 STEP 1 UNTIL 5 DO A(I) := I;
APPLY(A, SQUARE);
FOR I := 1 STEP 1 UNTIL 5 DO OUTFIX(A(I), 2, 8); OUTIMAGE;

END.</lang>
{{out}}
<pre>
1.00 4.00 9.00 16.00 25.00
</pre>


=={{header|Slate}}==
=={{header|Slate}}==