Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要编写一个代码,该代码将一个元素添加到作为输入的列表中,并返回一个新列表而不是旧列表。之后我将进行递归,我需要新列表……下面的代码工作正常。 .但是我尽量减少所有设置!那是因为让我感到困惑,有时我会犯我无法解决的错误..
没有设置我怎么能做这个操作!? 我只尝试缺点,列出和附加,但他们都没有做这项工作。
(set! list (cons element list))
谢谢..
就够(cons element list)了。
(cons element list)
您的代码正在更改list变量的内容。我们通常不这样做,在功能样式中,唯一的方法就是set!像你一样使用。
list
set!
但是要返回新列表,它上面有一个新元素,调用(cons element list)就足够了:
... (let ((newlist (cons element oldlist))) ..... ..... use newlist and oldlist as needed