我喜欢 Common lisp,但有时输入简单的数学表达式真的很痛苦
a(8b^2+1)+4bc(4b^2+1)
(当然我可以转换它,但是有点慢,我先写 (+ () ()),然后在每个括号中写 (* () ())...)
我想知道这里是否有人知道更好的输入方法。我正在考虑编写一个数学宏,其中
(math “a(8b^2+1)+4bc(4b^2+1)”)
扩展到
(+ (* a (1+ (* 8 b b))) (* 4 b c (1+ (* 4 b b))))
但是对于名称很长的变量来说,解析是一个问题。
有人有更好的建议吗?
有用于此目的的读取器宏。
See: http://www.cliki.net/infix http://www.cliki.net/infix
例如:
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)))
'
是通常的报价。#I( some-infix-expression )
是阅读器宏。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)