使用带有多个参数的地图?
foldr 或 foldl 之类的东西?
答案 0 :(得分:5)
如果其他参数已修复,请执行部分应用程序。 E.g:
map (func arg1 arg2) your_list
答案 1 :(得分:3)
Haskell支持部分应用程序,这意味着你只能将一些参数传递给一个函数,你将获得一个接受其余参数的函数。
例如,我可以使用如下表达式:
map (\x -> x*x) [1,2,3,4]
并将其重写为:
let mapsquare = map (\x -> x*x) in mapsquare [1,2,3,4]
在上面的例子中,我采用了部分应用的地图,并将其分配给变量,然后在列表中使用了一个参数的函数。
在您的示例中,您可以撰写let f = func str1 str2 in map f charls
或map (func str1 str2) charls
。