-6

我正在尝试通过列表中的所有元素作为参数运行帮助功能

-- Help Function
helpFun :: Int -> Int -> Int
helpFun x y = x + y

-- Main Function
mainfun :: [Int] -> [Int]
mainfun x = helpfun 2 [j | j <- x]

如果我们假设 x 是一个 int 列表,[0, 1, 2, 3, 4, 5, 6] 我应该更改什么以使其helpFun对列表中的所有元素运行?helpFun 2 0我想得到所有号码helpFun 2 6

所以就像

for a in list:
    tt = helpFun 2 a
    return tt
4

1 回答 1

10

Haskell 中没有 for 循环这样的东西。

要将函数应用于列表中的每个元素,您可以使用列表推导式map或列表推导式。由于您已经有一个列表理解(目前没有做任何事情),让我们使用它:

mainfun xs = [helpfun 2 x | x <- xs]

替代使用map将是:

mainfun xs = map (helpfun 2) xs
于 2013-02-06T15:50:31.883 回答