1.2 Scheme命名约定
Scheme 命名约定的设计是为了提供一个高度的规律性。下面列出这些具体的约定
谓词的名字以问号结尾,谓词就是那些返回布尔值的函数,比如
eq?
,zero?
以及string=?
。通常的数值比较过程=, <, >, <=, >=
不遵守这个惯例。类型谓词就是类型的名字加上问号,比如
pair?
,number?
。大多数与字符,字符串及向量有关的过程以前缀
char-
,string-
以及vector-
开头。比如string-append
,(一些与列表操作有关的过程也是以list-
开头,但是大部分不是这样)将一个类型的对象转换为另一个类型的对象的过程,写为type1->type2,比如
vector->list
。具有“副作用”的过程及宏的名字后边要跟上感叹号(!)。例如,
set!
以有vector-set!
。执行输入或输出的过程也有副作用,但是它们的命名不遵守这个规则。
程序员应该在自己的代码里使用这些规则。