-1

我正在使用 CLISP 并且正在尝试

(if ( = (first '(+ 2 3)) + ) 10 20) //10 and 20 are just placeholders

我正在尝试创建一个在中缀、后缀和前缀之间转换的程序。我相信我的第一步应该是在字符串中找到符号 +、-、* 和 /。输入中不会有括号。所以,我正在尝试系统地搜索每个符号。我的方法的优点是能够将 * 优先于 + 等。

我对我的方法有一个大致的了解,但任何想法都会很好。我的第一个想法是:

(append (rest '(+ 2 3)) (list (first '(+ 2 3))))

是的,我打算使用递归。

4

1 回答 1

0

更多谷歌搜索让我了解 Common Lisp 中的 eq、eql、equal 和 equalp 有什么区别?所以我决定实施“eq”而不是“=”,它按预期工作。

于 2012-05-09T00:40:10.057 回答