SICP 习题2.21 square-list
2016-06-12 21:29
197 查看
print-list的时候写了三个if,是个愚蠢的地方
(define (map-a proc items) (if (null? items) '() (cons (proc (car items)) (map-a proc (cdr items))))) (define nl newline) (define print-list (lambda (s) (if (not (null? s)) (display (car s))) (if (not (null? s)) (display " ")) (if (not (null? s)) (print-list (cdr s))))) (nl) (print-list (map-a abs '(-10 2.5 -11.6 17))) (define square (lambda (x) (* x x))) (define (square-list-a items) (if (null? items) '() (cons (square (car items)) (square-list-a (cdr items))))) (define (square-list-b items) (map-a square items)) (nl) (print-list (square-list-a '(1 2 3 4))) (nl) (print-list (square-list-b '(1 2 3 4)))
相关文章推荐
- 【笔记】投影坐标到屏幕坐标
- ospf常见的邻居状态机及分析
- HOJ 1020
- [LeetCode]problem 60. Permutation Sequence
- 15. 3Sum
- saiku 3.7.4 构建过程
- 简略版caffe在ubuntu14.04下的安装
- Navicat for mysql 1130错误 用Navicat连接远程MYSQL:报错ERROR 1130: Host '192.168.1.3' is not allowed to connec
- drools-spring-1.0.0.xsd所在的drools-spring.jar已
- xxxMapper.xml
- 【c++】lambda表达式
- AJAX工作原理及其优缺点
- mysql之事务
- ldpack工作日记-2016/6/12
- Sqrt(x)
- Caused by: Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.
- HDU 2512 一卡通大冒险(dp)
- 协议分析
- git常用命令
- KinectV2 in Qt 在Qt中使用KinectV2编程