所以,我正在尝试添加列表的子列表。就像,如果我有这样的事情:
(add-pair '((1 4) (2 1)))
我想让它归还:
(5 3)
这是我到目前为止所做的:
(define pair-additions
(lambda (ls)
(map
(lambda (n)
(+ (car n) (cdr n)))ls)))
现在,它给我一个错误,说输入不是数字。有人可以帮帮我吗?
答案 0 :(得分:0)
你几乎得到了它!这是问题:
(+ (car n) (cdr n))
要检索列表的第二个元素,您必须使用car
的{{1}},而不仅仅是cdr
。为此更改以上行:
cdr
或者为此,这是前一行的简短形式:
(+ (car n) (car (cdr n)))
或者为此,这更易于阅读(如果您的Scheme解释器支持):
(+ (car n) (cadr n))
以上所有内容都是等效的。