elisp支持虚数是有可能的吗?我试图跟随一个在线数学课程与lisp互动模式缓冲区运行。Emacs elisp是否有“高等数学”模块/库?
发布于 2015-02-23 01:09:37
我刚刚找到了一个调用Calc的很好的例子:掌握Emacs;与Emacs Calc的乐趣,它讨论了如何将calc嵌入到elisp代码中,并使用calc-eval函数:
ELISP> (calc-eval "1+2")
"3"它给出了一个在elisp代码中调用Calc的实例。
发布于 2019-08-31 07:07:45
不可否认的是,emacs没有本地复数。它仅如手动在这里输入链接描述中所描述的那样
Integer Basics: Representation and range of integers.
Float Basics: Representation and range of floating point. 另外,不能重叠基本的数学函数来使用另一种类型的数字,请参阅这一讨论
不幸的是,您实际上无法向指定了字节码操作码的函数提供建议。这包括*和大多数其他的数学运算符。您的建议不会触发任何已经字节编译的函数。几年前,这让我大吃一惊:Emacs的极限
所以要加上这个可怕的东西并不容易,幸运使者lisp是lisp的后裔,所以你可以有很多其他的解决方案。
有一个套餐,您可以使用复数:
"cplx“包将复数表示为一对浮点数在反单元格中。
此外,还添加了数字交互的基本操作wirh emacs lisp数。
此外,正如@phils答案中指出的那样,emacs内部存在calc,它被描述为和avanced计算器,以HP-S28为基础,它也是一个用Elisp编写的代数系统,您可以方便地扩展,并支持所有类型的数字,您可以使用calc或在emacs lisp程序中使用它。
作为字符串的表达式:
ELISP> (calc-eval "1 + 2i + 3")
"2 i + 4"
ELISP> (calc-eval "1 + 2i * 3")
"6 i + 1" 或直接使用数据类型。
ELISP> (calcFunc-add 3 '(float 5 0) '(cplx 4 5))
(cplx
(float 12 0)
5)请仔细阅读emacs calc手册,并查看一些关于这个主题的博客,比如这一个。
发布于 2021-07-05 19:05:14
除了calc之外,还有一个延迟的答复,但是,除了calc之外,还有面向数学的支持,可以在以下文件中找到:
https://stackoverflow.com/questions/28629797
复制相似问题