SICP_2.21-2.23
Posted lan126
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SICP_2.21-2.23相关的知识,希望对你有一定的参考价值。
1 #lang racket 2 3 ;;;;;;;;;;;;;;;;;;;2.21 4 (define (square-list items) 5 (if (null? items) 6 null 7 (cons (square (car items)) 8 (square-list (cdr items))))) 9 10 (define (square x) 11 (* x x)) 12 ;; 13 (define (square-list2 items) 14 (map square items)) 15 16 ;;;;test 17 (square-list (list 1 2 3 4)) 18 (square-list2 (list 1 2 3 4)) 19 20 ;;;;;;;;;;;;;;;;;;;;2.22 21 (define (square-list3 items) 22 (define (iter things answer) 23 (if (null? things) 24 answer 25 (iter (cdr things) 26 (append answer 27 (list (square (car things))))))) 28 (iter items ‘())) 29 30 ;;test 31 (square-list3 (list 1 2 3 4)) 32 33 ;;;;;;;;;;;;;;;;;;;;2.23 34 (define (for-each proc items) 35 (cond ((not (null? items)) 36 (proc (car items)) 37 (for-each proc (cdr items))))) 38 39 ;;test 40 (for-each (lambda (x) (newline) (display x)) (list 57 321 88))
以上是关于SICP_2.21-2.23的主要内容,如果未能解决你的问题,请参考以下文章