如何在Haskell中运行for循环

时间:2013-02-06 15:45:41

标签: haskell

我试图通过列表中的所有元素作为参数

运行帮助功能
-- 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 0helpFun 2 6

获取所有号码

所以就像

一样
for a in list:
    tt = helpFun 2 a
    return tt

1 个答案:

答案 0 :(得分:10)

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

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

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

使用map的替代方法是:

mainfun xs = map (helpfun 2) xs