【发布时间】:2018-07-28 00:46:28
【问题描述】:
我想向 Common Lisp 介绍一些普通的数学表达式。例如,如果我将上面的宏称为“exp”:
(exp 2 + 3) => 5
(let ((a 2) (b 5) (c 3))
(exp 2 + 3 * a + b - c)) => 10
以下可能很难,因此我不需要它:
(exp 2 + (mod 5 3) + (log 10))
请告诉我。
【问题讨论】:
-
lisp 没有运算符优先级是有原因的,但如果你有兴趣,有一个nice simple implementation for it presented by Douglas Crockford in JS,所以你只需要移植它。快乐的黑客攻击!
-
网络搜索可能已经找到了一些选项。
-
好吧,我错了。在我问之前我会做一些网络搜索。
标签: common-lisp