我最近在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.我怀疑它是否真的是主题,我的答案是否有用,所以它是社区维基;-)