如何在LISP中使用append和dolist增加列表元素?

时间:2016-10-25 16:34:50

标签: lisp common-lisp clisp

我试图通过创建一个新IllegalStateException来增加list中的元素,我会list增加appendlist的元素。{ 1}}循环。

首先我尝试了这个并且它没有工作:

dolist

然后我认为(defun increment-list(old-list) (setq new-list (list)) (when (listp old-list) (dolist (x old-list) (append new-list (+ x 1))) (print new-list) ) ) 可能只会附加另一个list,所以我将list更改为如下所示:

dolist

两个解决方案都给出了相同的结果 - (dolist (x old-list) (append new-list (list (+ x 1)))) new-list

目前,我正在使用NIL,但它会反转push。我可以再次扭转局面,但这似乎是一种不必要的并发症。

我还找到了其他可以使用的解决方案。但是,我很想知道为什么list在这里不起作用,因为根据this answer它应该。

0 个答案:

没有答案