Haskell高阶函数与地图

时间:2011-06-11 14:23:18

标签: haskell higher-order-functions

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

DD::Int->Char
DD a | a==1 = '1'

测试哪个是当前返回 char 值的高阶函数,我需要返回String作为test::Int->(Int-> Char)->String

我改为功能体

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]

如何将此函数应用于带有地图的字符串?哪里出错了?

1 个答案:

答案 0 :(得分:3)

由于字符串只是字符列表,因此请尝试返回字符列表:

test n f =  [f n]
顺便说一句,在Haskell中,如果不是真的需要,我们通常不会使用paranthesis。