1-和1+的历史



我最近在freenode上的#lisp中,有人提到了"1-"和1+的存在。了解这些功能让我想知道它们为什么存在。它们最初是因为诸如C/C++的相关--++之类的持久性原因而创建的,还是有其他原因?有人知道这些功能是如何出现在标准中的历史吗?

(如果这个问题更适合其他网站(例如程序员),请将其迁移到那里。谢谢。)

我认为它们在Common Lisp中没有性能原因(尽管在C中,例如,n++可能比n = n + 1工作得更快)。链接底部有一条注释:

(1+ number) ==  (+ number 1)
(1- number) ==  (- number 1)

因此,通常可以使用+1+来获得相同的结果。我认为这些功能存在的真正原因是方便。就我个人而言,我发现自己加1的次数比其他任何数字都多。

增量和减量的函数几乎可以在每种编程语言中找到(据我所知),所以在Common Lisp中有一些函数是合乎逻辑的。

p.S.我怀疑它是否真的是主题,我的答案是否有用,所以它是社区维基;-)

最新更新