如何使用带有多个参数的map - Haskell

时间:2017-11-20 18:08:53

标签: haskell

使用带有多个参数的地图?

foldr foldl 之类的东西?

2 个答案:

答案 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 charlsmap (func str1 str2) charls