4. Toys¶
本章概要:
使读者了解scheme语言的一些基本概念和一些常用函数,为接下来的章节打基础。
4.2. 常见函数¶
car: 返回非空列表中的首个S表达式,
所以它操作的对象一定要是非空的列表(十戒第一条)。
cdr: 取出非空列表中的除首个S表达式的列表,
它操作的对象也是要非空列表(十戒第一条)。
cons: 将两个S表达式连接成一个列表,第二个必须是一个列表。
null?: 只判断列表是否为空(scheme五律第四条)。
atom?: 用来判断一个S表达式是否为一个原子。
(define atom? (lambda (m) (and (not (pair? m)) (not (null? m)))))
eq?: 用来判断两个非数字的的原子是否相等。
小技巧
guile的实现不太一样,它还可以比较数字。