-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path2.23.scm
22 lines (20 loc) · 913 Bytes
/
2.23.scm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
; Exercise 2.23
; The procedure for-each is similar to map. It takes as arguments
; a procedure and a list of elements. However, rather than forming
; a list of the results, for-each just applies the procedure to each
; of the elements in turn, from left to right. The values returned
; by applying the procedure to the elements are not used at all -- for-each
; is used with procedures that perform an action, such as printing. For example,
; (for-each (lambda (x) (newline) (display x))
; (list 57 321 88))
; Output:
; 57
; 321
; 88
; The value returned by the call to for-each (not illustrated above) can be something arbitrary, such as true. Give an implementation of for-each.
(define (for-each proc items)
(cond ((null? items) (newline))
(else (proc (car items))
(for-each proc (cdr items)))))
(for-each (lambda (x) (newline) (display x))
(list 57 321 88))