我从头开始评估一个 lisp 表达式
(+ (/ 1 2) (/ 1 2))
我得了一个 0。
通常它应该是1。
正如 Oleg 指出的那样,除非您包含浮点参数(如1.0
),否则运算符通常默认为整数算术。
关于您关于有理数支持的问题,emacs-calc(它是 emacs 的一部分)支持许多数字类型,包括分数(即有理数)、复数、无限精度整数等。您的代码必须调用 emacs-calc 函数(而不是/
等),以便使用 calc 的算术。
GNU Emacs 计算手册:
您可以在此处阅读有关 elisp 中数字的所有信息:
C-hig (elisp) Numbers
RET
正如tripleee 已经指出的那样,答案显然是“否”。