7

我是一个开始学习该语言的 Common Lisp 新手。我的问题是:我见过几个函数以不同的方式使用谓词语法。例如(刚刚查了一下),有 streamp 和 pathnamep,但也有 input-stream-p 和 output-stream-p。为什么不是所有函数都标准化为使用 *p 或 *-p?这可能只是一个历史文物吗?

4

1 回答 1

11

规则是单词谓词名称以 just 结尾P,而多词谓词名称以 结尾-P。前者的原因主要是历史原因;后者的原因是一个名字 likeinput-streamp会错误地暗示被问的问题是“这个输入是一个流吗?” 或类似的东西。

于 2013-03-26T16:18:08.743 回答