我正在使用CLISP并且正在尝试
(if ( = (first '(+ 2 3)) + ) 10 20) //10 and 20 are just placeholders
我正在尝试创建一个在中缀,后缀和前缀之间进行转换的程序。我相信我的第一步应该是在字符串中找到符号+, - ,*和/。输入中没有括号。所以,我试图系统地搜索每个符号。我的方法的优点是能够优先考虑* over + etc。
我对我的方法有一个大概的想法,但任何想法都会很好。 我的第一个想法是:
(append (rest '(+ 2 3)) (list (first '(+ 2 3))))
是的,我打算使用递归。
答案 0 :(得分:0)
更多谷歌搜索带我到What's the difference between eq, eql, equal, and equalp in Common Lisp?所以我决定实施“eq”而不是“=”,它的效果与预期的一样。