我是lisp
的新手,向现有列表添加元素时遇到问题。将元素添加到全局变量
> (setq l '(1 2))
(1 2)
> (append l 3)
(1 2 . 3)
> l
(1 2)
> (append l '(3))
(1 2 3)
> l
(1 2)
> (list l '(3))
((1 2) (3))
> l
(1 2)
> (cons 3 l)
(3 1 2)
> l
(1 2)
> (push 3 l)
(3 1 2)
> l
(3 1 2)
上面的例子是我在命令行上做的。这里只有push
的作品。但是,即使push
在执行我在文件中写入的代码(并将其加载到命令行中)时也不会添加该元素。我的代码示例可用in another question's page。
如何更新原始l
以便它自己添加3?我尝试了几个其他功能(cons
,list
),但结果相同/相似 - 3未添加到原始列表中。
http://www.cs.cmu.edu/~dst/LispBook/ 本书解释了Common Lisp的许多基础知识。 – 2012-02-18 23:00:34