定义一个函数intoSublist,它带有两个输入参数x - atom和L - list以及子列表。该函数应将x作为L的所有子列表中的第一个元素插入。
(defun intoSublist (x L)
(cond
((null L) nil)
((not(atom (car L)))
(cons x (intoSublist x
L)))
(t (cons (car L) (intoSublist x
(cdr L ))))
)
)
程序给程序堆栈溢出。重置错误。我认为功能是正确的,但我不知道问题是什么?
答案 0 :(得分:1)
当(not (atom (car L))
为真时,你无限次地利用第一个元素。也许你忘了cdr
这个论点?
此外,不是在列表前添加,而是替换它。