我是 lisp 新手,在使用“ ”时遇到了困难append
。我必须重新排序列表,并将输入列表的第一个元素作为输出列表的最后一个元素。我尝试使用“ append
”和“ nconc
”,每次我都能得到我想要的列表,但.
在最后一个元素之前有一个“ ”。这个点是什么意思?有什么方法可以避免出现这个符号吗?
多谢!
(nconc (rest l)(first l)) >> (B C D E . A)
(append (rest l) (first l)) >> (B C D E . A)
从最基本的层面上讲,列表是通过一系列
cons
调用创建的:NIL
是指示列表结尾的特殊标记。因此,NIL
后面的.
可以与 一起消失.
。但 后面的任何其他内容都.
不能消失。append
是一个更高级的函数,它附加两个列表:这是因为
first l
这里没有列表。但是我们可以列出一个列表:nconc
在这一点上就像append
。