【发布时间】:2014-11-15 23:13:26
【问题描述】:
为什么它显然将它添加到 lst 时总是返回 nil ???
请帮忙!
谢谢!
CL-USER 1 : 1 > (defun constants-aux (form lst)
(cond ((null form) lst)
((eq (car form) 'implies) (constants-aux (cdr form) lst))
((eq (car form) 'not) (constants-aux (cdr form) lst))
((eq (car form) 'and) (constants-aux (cdr form) lst))
((eq (car form) 'or) (constants-aux (cdr form) lst))
((atom (car form)) (print (car form)) (cons (car form) (list lst)) (delete-duplicates lst) (constants-aux (cdr form) lst))
(T (constants-aux (car form) lst) (constants-aux (cdr form) lst))))
CONSTANTS-AUX
CL-USER 2 : 1 > (defun constants (form)
(constants-aux form nil))
CONSTANTS
CL-USER 3 : 1 > constants '(IMPLIES (NOT Q) (IMPLIES Q P))
Q
Q
P
NIL
【问题讨论】:
-
您正在调试器中工作。
cl-user 3 : 1 >表示您处于调试级别 1。
标签: function recursion lisp common-lisp helper