1.2 Scheme命名约定

Scheme 命名约定的设计是为了提供一个高度的规律性。下面列出这些具体的约定

  • 谓词的名字以问号结尾,谓词就是那些返回布尔值的函数,比如eq?,zero?以及string=?。通常的数值比较过程=, <, >, <=, >=不遵守这个惯例。

  • 类型谓词就是类型的名字加上问号,比如 pair?number?

  • 大多数与字符,字符串及向量有关的过程以前缀char-, string-以及vector-开头。比如string-append,(一些与列表操作有关的过程也是以list-开头,但是大部分不是这样)

  • 将一个类型的对象转换为另一个类型的对象的过程,写为type1->type2,比如vector->list

  • 具有“副作用”的过程及宏的名字后边要跟上感叹号(!)。例如,set!以有vector-set!。执行输入或输出的过程也有副作用,但是它们的命名不遵守这个规则。

程序员应该在自己的代码里使用这些规则。

results matching ""

    No results matching ""