Scheme 在方案中使用cons、list、append
我需要编写一个代码,将一个元素添加到作为输入的列表中,并返回一个新列表而不是旧列表。。之后,我会做递归,我需要新的列表。。。下面的代码工作正常。。然而我试图减少所有设置!那是因为迷惑了我,有时我犯了我无法解决的错误 没有设置,我如何执行此操作?我只尝试了cons、list和append,但没有一个能完成这项工作Scheme 在方案中使用cons、list、append,scheme,racket,Scheme,Racket,我需要编写一个代码,将一个元素添加到作为输入的列表中,并返回一个新列表而不是旧列表。。之后,我会做递归,我需要新的列表。。。下面的代码工作正常。。然而我试图减少所有设置!那是因为迷惑了我,有时我犯了我无法解决的错误 没有设置,我如何执行此操作?我只尝试了cons、list和append,但没有一个能完成这项工作 (set! list (cons element list)) 谢谢。只要(cons元素列表)就足够了 您的代码正在更改列表变量的内容。我们通常不会以函数式的方式这样做,唯一的方法是使
(set! list (cons element list))
谢谢。只要(cons元素列表)
就足够了
您的代码正在更改列表
变量的内容。我们通常不会以函数式的方式这样做,唯一的方法是使用set代码>和您一样
但要返回新列表,它上面有一个新元素,调用(cons element list)
就足够了:
...
(let ((newlist (cons element oldlist)))
.....
..... use newlist and oldlist as needed
只要(cons元素列表)
就足够了
您的代码正在更改列表
变量的内容。我们通常不会以函数式的方式这样做,唯一的方法是使用set代码>和您一样
但要返回新列表,它上面有一个新元素,调用(cons element list)
就足够了:
...
(let ((newlist (cons element oldlist)))
.....
..... use newlist and oldlist as needed
这就是调用(cons e l)
所做的。它返回新的列表。如果在函数中需要它,请编写:(define(addel)(consel))
并调用它。。。。(添加EL).
。但是你可以直接调用。。。(cons e l).
相反。这就是调用(cons e l)
所做的。它返回新的列表。如果在函数中需要它,请编写:(define(addel)(consel))
并调用它。。。。(添加EL).
。但是你可以直接调用。。。(cons e l).
。