h__*_*h__ 6 common-lisp infix-notation prefix s-expression reader-macro
我喜欢常见的口齿不清,但有时输入简单的数学表达式是非常痛苦的
a(8b^2+1)+4bc(4b^2+1)
Run Code Online (Sandbox Code Playgroud)
(当然我可以转换它,但它有点慢,我先写(+()()),然后在每个括号中我放(*()())...)
我想知道这里是否有人知道更好的输入方法.我正在考虑编写一个数学宏,在哪里
(math “a(8b^2+1)+4bc(4b^2+1)”)
Run Code Online (Sandbox Code Playgroud)
扩展到
(+ (* a (1+ (* 8 b b))) (* 4 b c (1+ (* 4 b b))))
Run Code Online (Sandbox Code Playgroud)
但解析是名称很长的变量的问题.
有人有更好的建议吗?
Rai*_*wig 25
为此目的有读者宏.
例如:
CL-USER 17 > '#I(a*(8*b^^2+1)+ 4*b*c*(4*b^^2+1) )
(+ (* A (+ (* 8 (EXPT B 2)) 1)) (* 4 B C (+ (* 4 (EXPT B 2)) 1)))
Run Code Online (Sandbox Code Playgroud)
'通常是引用.#I( some-infix-expression )是读者宏.