我最近在 freenode 上的#lisp,有人提到 '1-' and 1+
的存在.了解这些功能让我想知道它们为什么存在。它们最初是出于性能原因而创建的,例如 C/C++ 的相关 --
和 ++
,还是有其他原因?有谁知道这些函数如何成为标准的历史?
(如果这个问题更适合其他站点(例如程序员),请将其迁移到那里。谢谢。)
最佳答案
我不认为它们在 Common Lisp 中有性能原因(尽管在 C 中,例如,n++
可能比 n = n + 1
运行得更快) .您的链接底部有一条注释:
(1+ number) == (+ number 1)
(1- number) == (- number 1)
因此,通常可以使用+
或1+
来获得相同的结果。我认为这些功能存在的真正原因是方便。就个人而言,我发现自己加 1 的次数比任何其他数字都多。
递增和递减函数几乎可以在每种编程语言中找到(据我所知),因此在 Common Lisp 中有一些是合乎逻辑的。
附言我怀疑它是否真的切合主题并且我的回答是否有用,所以它是社区 wiki ;-)
关于lisp - 1-和1+的历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25930082/