有没有办法在Scheme/Racket中映射具有多个参数的函数?

有没有办法在Scheme/Racket中映射具有多个参数的函数?,scheme,racket,Scheme,Racket,我目前正在做一个介绍性的球拍/方案课程,目前正在学习地图,申请和折叠。在大多数情况下,我一直假设map只能在接受单个参数的lambda上工作。然而,对于某些问题,我会发现解决这个问题是非常有用的——比如说,有一个可以映射到列表的函数,同时还携带一个累加器,可以为每个递归函数调用独立更新。虽然我不能说得比这更具体,因为我害怕违反荣誉准则,但如果你计划使用map,有没有办法避免不能给每个递归调用一个累加器?map获取你想要的任意多的列表: (map + '(1 2 3) '(3 2 1) '(3 3

我目前正在做一个介绍性的球拍/方案课程,目前正在学习地图,申请和折叠。在大多数情况下,我一直假设map只能在接受单个参数的lambda上工作。然而,对于某些问题,我会发现解决这个问题是非常有用的——比如说,有一个可以映射到列表的函数,同时还携带一个累加器,可以为每个递归函数调用独立更新。虽然我不能说得比这更具体,因为我害怕违反荣誉准则,但如果你计划使用map,有没有办法避免不能给每个递归调用一个累加器?

map获取你想要的任意多的列表:

(map + '(1 2 3) '(3 2 1) '(3 3 3)) ; ==> (7 7 7)
fold
有一个累加器:

(foldl (lambda (a b c acc) (+ a b c acc)) 1 '(1 2 3) '(3 2 1) '(3 3 3)) ; ==> 22

map
获取您想要的任意多个列表:

(map + '(1 2 3) '(3 2 1) '(3 3 3)) ; ==> (7 7 7)
fold
有一个累加器:

(foldl (lambda (a b c acc) (+ a b c acc)) 1 '(1 2 3) '(3 2 1) '(3 3 3)) ; ==> 22