我正在为方案中的方案创建一个评估器,我希望它具有的功能之一是地图。但是,我发现的所有 map 定义都不允许多个列表。例如:
(define (my-map proc lis)
(cond ((null? lis)
'())
((pair? lis)
(cons (proc (car lis))
(my-map proc (cdr lis))))))
这个 map 的定义是“不完整的”,因为例如,你不能像这样添加 2 个数字列表(它只允许一个列表作为参数):
(my-map + '(1 2 3) '(4 5 6))
如何修改上述地图定义以允许任意数量的列表?