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))
转载于:https://www.cnblogs.com/tclan126/p/6395556.html
相关资源:数据结构—成绩单生成器