使用cons,list,附加在Scheme中

时间:2013-05-04 13:57:31

标签: scheme racket

我需要编写一个代码,它接受一个元素并添加到列表中作为输入,并返回一个新列表而不是旧列表..之后我会做recurssion并且我需要新列表...下面的代码是工作正常..但是我试着减少所有设置!那是因为混淆了我,有时我接受了我无法解决的错误..

如何在没有设置的情况下执行此操作! ?我只是尝试一下,列出并追加,但没有人做这个工作。

(set! list (cons element list))

谢谢..

1 个答案:

答案 0 :(得分:4)

只需(cons element list)即可。

您的代码正在更改list变量的内容。我们通常不会以功能样式执行此操作,唯一的方法是使用set!

但是要返回新列表,其上面有一个新元素,调用(cons element list)就足够了:

...
(let ((newlist (cons element oldlist)))
  .....
  ..... use newlist and oldlist as needed