map:有一个过程和一个参数列表,返回这一过程应用于表中各个元素得到的结果列表
实现如下:
(define (map proc items)
(if (null? items)
null
(cons (proc (car items))
(map proc (cdr items)))))
demo:
(define (scale-list items factor)
(map (lambda (x) (* x factor))
items))
(scale-list (list 1 2 3 4))
(list 100 200 300 400)
map建立了处理表的高层抽象
来自:SICP P71