2013-02-06 53 views
-6
運行一個for循環

我想從一個列表作爲參數如何在Haskell

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

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

運行的所有元素的幫助功能,如果我們假設x是int型的列表[0,1,2 ,3,4,5,6] 我應該更改哪些內容才能使其爲列表中的所有元素運行helpfun? 我想從helpFun 2 0 to helpFun 2 6

得到的所有號碼,只是像

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

感謝

+4

你可能想一些哈斯克爾讀了文學。 http://learnyouahaskell.com/是一個很好的起點 – Dacto

回答

10

有沒有這樣的事,作爲一個在Haskell的循環。

要將函數應用於列表中的每個元素,可以使用map或列表理解。既然你已經有一個列表理解(目前什麼都不做),讓我們只使用:

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

使用map另一種方法是:

mainfun xs = map (helpfun 2) xs