我已经开始学习Scheme了,主要是为了好玩,因为我之前从未使用过一种功能性语言。我选择了Scheme,因为我想长时间阅读SICP。为什么使用cons创建一对两个列表会产生一个列表和两个元素?
无论如何,我目前正在学习列表,在此之前,我了解了cons,car和cdr。还有的创建名单的有缺点的列表,像这样的例子:
(cons (list 1 2) (list 3 4))
结果列表是((1 2)3 4),这没有任何意义对我来说,我希望(( 1 2)(3 4))作为结果(由两个列表组成的列表)。为什么它的行为如此?我意识到,如果我要使用汽车,我会得到(1 2),而且我会得到(3 4)因为cdr总是返回“其余”,但我不明白为什么没有列出两个列表?
这个问题稍有不同,但答案正好回答你的问题:http://stackoverflow.com/questions/2921912/in-sicp-exercise-2-26-using-drscheme-why-does-cons-return -a-list-instead-of-ap – 2010-06-11 12:11:39
为什么当你早些时候用LIST列出一个列表时,你会用CONS列出一个列表?为什么不坚持使用LIST来制作列表? CONS和LIST不一样 - 这也是它们为什么是不同的功能的原因。 – 2010-06-11 12:16:53
这是一个练习SICP – fingerprint211b 2010-06-11 12:17:56