2.23

练习 2.23 过程for-each与map类似,它以一个过程和一个元素表为参数,但它并不返回结果的表,只是将这一过程从左到右应用于各个元素,将过程应用于元素得到的值都丢掉不用。for-each通常用于那些执行了某些动作的过程,如打印等。看下面例子:

(for-each (lambda (x) (newline) (display x))
    (list 57 321 88))

57
321
88

由for-each的调用返回的值(上面没有显示)可以是某种任意的东西,例如逻辑值真。请给出一个for-each的实现。


(define (for-each proc lst) (if (null? lst) #t ((proc (car lst)) (for-each proc (cdr lst))) ) ) (for-each (lambda (x) (newline) (display x)) (list 57 321 88))

results matching ""

    No results matching ""