如何使用Haskell高阶函数foldr来计算字符串的长度

时间:2012-02-06 14:45:21

标签: haskell higher-order-functions

我想使用Haskell高阶函数Foldr来计算字符串的长度

stringlength = foldr (\_n -> 1 + n) 0

它会出现以下错误。此代码有什么问题?

Unresolved top-level overloading
*** Binding             : stringlength
*** Outstanding context : (Num b, Num (b -> b))

1 个答案:

答案 0 :(得分:8)

您需要为模式匹配添加空格

(\_ n -> ... )
   ^^here

目前您正在匹配单个变量_n而不是_n,正如您可能想要的那样。