【发布时间】:2021-11-12 08:20:57
【问题描述】:
我正在实现一个过程“map2”,它接收两个列表并返回每个元素的总和。如果列表不均匀,则仅返回最短列表的总和。我的代码是:
(define (map2 proc items1 items2)
(if (null? items1)
'()
(cons (proc (car items1) (car items2))
(map2 proc (cdr items1) (cdr items2)))))
使用示例应该是:
(maps2 + '(1 2 3 4) '(3 4 5)) --> (4 6 8)
我的问题是如何实现处理不均匀列表的部分?
【问题讨论】: