[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=?,或者一切合适的东西来比较它们