我正在使用 Htdp 2e,并且遇到了从 foldr 或 foldl 定义 map 函数的问题。我不知道从哪里开始。
Map 接受一个参数和一个列表的函数。所以我已经类似地定义了我的功能。Fold 需要一个有两个参数的函数,一个基数和一个列表。
我的问题是如何获取 map 的一个参数函数并使用折叠的两个参数函数重新创建它?
该问题的目的是教授如何使用高阶函数创建抽象。
一些朝着正确方向的推动将不胜感激
; [X Y] [X -> Y] [List-of-X] -> [List-of-Y]
; consumes a function and a list and applies f
; to each item in the list
(define (map-from-fold f l)
(foldr f base lx))