我正在尝试将传入参数的第一个参数与值进行比较,然后如果为真,则执行一些函数,然后递归调用相同的函数。
(defun function (expression)
(cond
((equal (first expression) "+")
(progn (print "addition")
(function (rest expression))))))
出于某种原因,它只是递归而不是打印。感谢。
答案 0 :(得分:0)
也许你的意思是说:
(defun function (expression)
(cond (expression
(cond (equal (first expression) "+")
(print "addition")))
(function (rest expression)))))
原始递归仅在(第一个表达式)为“+”时 并且也没有进行零检查。