使用splitOn的函数组合不起作用

时间:2014-10-14 08:29:38

标签: haskell map split

我的代码:

map head $ map (splitOn ":") inputlines

工作得很好,输入线是一个列表;但是,此代码不起作用:

map head . (splitOn ":") inputlines

也不

map head . (splitOn ":") $ inputlines

我的想法是head . (splitOn ":")使它等同于单个函数。然后使用map在列表inputlines上应用单个函数。但它不起作用,出了什么问题?

2 个答案:

答案 0 :(得分:2)

试试这个:

map (head . splitOn ":") inputlines

它会起作用。

如果是map head . (splitOn ":") inputlines,Haskell会将inputlines视为部分应用splitOn的参数。同样适用于map head . (splitOn ":") $ inputlines,首先评估inputlines,然后再将其应用于splitOn

答案 1 :(得分:0)

它的

map (head . splitOn ":") inputlines