【发布时间】:2014-04-14 12:36:55
【问题描述】:
我是 lisp 的新手。我用 lisp 写了一个 flatten 函数。
(defun flatten (list)
(cond ((null list) nil)
((atom (first list))
(cons (first list) (flatten (rest list))))
(t (append (flatten (first list)) (flatten (rest list))))))
输入-
(flatten '(a () b (c d)))
预期输出-(a b c d)
我的输出-(a nil b c d)
我应该怎么做才能避免'nil'被添加到列表中?我应该做一个递归函数。
【问题讨论】:
标签: lisp