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

最佳答案

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

10-06 05:22
查看更多