Apply a callback to an array: Difference between revisions
Content added Content deleted
m (→{{header|SuperCollider}}: formatting) |
|||
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}}== |