【SICP练习】61 练习2.31-2.32



练习2.31

我想说我已经越来越喜欢抽象了,将上一题中的map版本的square-tree抽象的方法是添加一个参数ff是一个函数,因此将square替换成f即可。如下。

(define (map-tree f tree)

   (map (lambda (sub-tree)

            (if (pair? sub-tree)

               (tree-map f sub-tree)

                (f sub-tree)))

           tree))

(define (square-tree tree)

   (tree-map square tree))

下面就来测试一下咯。来个稍微厉害点的表好了。

(square-tree ‘(1 2 (3 4) 5 (6 7) ( (8(9 ) ) ) 10 ) )

;Value: (1 4 (9 16) 25 (36 49) ( (64(81 ) ) ) 100 )


练习2.32

迭代




版权声明:本文为 NoMasp柯于旺 原创文章,如需转载请联系本人。

posted @ 2015-02-22 13:55  nomasp  阅读(119)  评论(0编辑  收藏  举报