emacs - emacs lisp中空列表的乘法

标签 emacs lisp scheme

为什么在 lisp(我所知道的 Emacs Lisp 和 Scheme)中,像 (*) 这样的构造返回 1

我在这里乘什么?如何在没有参数的情况下调用此函数 *

最佳答案

这是一个数学约定:product of an empty sequence of numbers根据定义,是一个;请注意,one 是乘法的恒等元 (1×a = a×1 = a)。这很方便,因为您可以使用可变数量的参数调用 *,而不必担心没有参数的情况。

类似地,空数列的和为零,即加法的恒等元。尝试在 Lisp 提示符下发出 (+)

关于emacs - emacs lisp中空列表的乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8986039/

相关文章:

namespaces - 为什么有多个命名空间?

java - 一种从 Clojure 中的 java.io.File.listFiles 中剥离返回值的方法

list - Lisp:List2 与 List1 的区别

macros - (Chez) 用于隐藏 lambda 的方案宏

recursion - 这个 Racket 程序是如何使用 add1 的?

scheme - 使用 eval、R5RS 从列表中评估我自己的函数

emacs - 在 Xcode 4 中使用 Emacs?

emacs - 在编辑 Emacs lisp 代码时,如何轻松地重新加载它?

emacs - 如何禁用特定类型文件的语义