2011-06-11 88 views
-1

測試這是目前返回值的高階函數,我必須返回一個String作爲test::Int->(Int-> Char)->String地圖Haskell的高階函數

我改變起作用體作爲

test::Int->(Int-> Char)->String 
test n f = map f(n) 

錯誤

Type error in application 
*** Expression  : map f n 
*** Term   : n 
*** Type   : Int 
*** Does not match : [a] 

如何將此函數應用於帶有地圖的字符串?我錯了哪裏?

回答

3

既然字符串是簡單的字符的列表,嘗試返回字符的列表:

test n f = [f n] 

順便說一句,在Haskell我們通常不使用paranthesis如果不是真的需要他們。