問題 2.21
(define (map proc items) (if (null? items) null (cons (proc (car items)) (map proc (cdr items))))) (define (scale-list items factor) (map (lambda (x) (* x factor)) items)) (define (square x) (* x x)) (define (square-list items) (if (null? items) null (cons (square (car items)) (square-list (cdr items))))) ;(square-list (list 1 2 3 4)) ;-> (1 4 9 16) (define (square-list items) (map square items)) ;(square-list (list 1 2 3 4)) ;-> (1 4 9 16)