Chinaunix首页 | 论坛 | 博客
  • 博客访问: 248109
  • 博文数量: 49
  • 博客积分: 110
  • 博客等级: 民兵
  • 技术积分: 510
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-13 00:59
个人简介

make it run,make it better,make it fast. https://github.com/liulanghaitun

文章分类

全部博文(49)

文章存档

2023年(1)

2022年(2)

2020年(4)

2019年(4)

2017年(15)

2016年(3)

2014年(3)

2013年(14)

分类: LINUX

2016-12-27 20:59:37

                                    第二章
1.判断列表中是否每个S表达式都是原子
(define debug
      (lambda (x) (begin (display x) (newline))))
;;测试当前打印语句
;;(debug "hello world!")

;;定义原子操作
(define atom?
    (lambda (x)
      (and (not (pair? x)) (not (null? x)))))

;;测试原子操作
;;(debug (atom? "hello world!"))
;;(debug (atom? '("hello" "world")))

;;判断每个元素是否为原子
(define lat?
  (lambda (l)
    (cond
      ((null? l) #t)
      ((atom? (car l)) (lat? (cdr l)))
      (else #f))))
;;测试lat
(debug (lat? '(bacon and eggs)))
(debug (lat? '((Jack) Sprat could eat no chicken fat)))

2.判断某个元素是否为列表中的元素
;;判断某个元素是否为列表中的元素
(define member?
  (lambda (a lat)
    (cond
      ((null? lat) #f)
      (else (or (eq? a (car lat)) (member? a (cdr lat)))))))

(debug (member? 'meat '(mashed potatoes and meat gravy)))
(debug (member? 'liver '(bagels and lox)))




阅读(1244) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~