类型判断 / 等式判断
最后更新于:2022-04-02 02:06:02
[TOC]
## 用于检查数据类型的函数
```
pair? 如果对象为序对则返回#t eg (list? '(1 2 3))
list? 如果对象是一个表则返回#t。要小心的是空表’()是一个表但是不是一个序对。
null? 如果对象是空表’()的话就返回#t。
symbol? 如果对象是一个符号则返回#t。
char? 如果对象是一个字符则返回#t。
string? 如果对象是一个字符串则返回#t。
number? 如果对象是一个数字则返回#t。
complex? 如果对象是一个复数则返回#t。
real? 如果对象是一个实数则返回#t。
rational? 如果对象是一个有理数则返回#t。
integer? 如果对象是一个整数则返回#t。
exact? 如果对象不是一个浮点数的话则返回#t。
inexact? 如果对象是一个浮点数的话则返回#t。
boolean? 布尔类型判断
```
## 相等性判断
```
boolean=? 布尔判断
= 整数,浮点数判断
symbol? 符号判断
eq? 证书或符号判断
equal? 几乎所有类型都可以判断,number,boolean,list...
```
equal?
* 当equa?被作用于一对结构体时,如果它们是同种类型的结构体,它会比较它们相应的字段;
* 当equa?被作用于一对原子值时,它使用=、 symbol=?、 boolean=?,或者一切合适的东西来比较它们
';