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

use*_*071 1 haskell higher-order-functions

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

stringlength = foldr (\_n -> 1 + n) 0
Run Code Online (Sandbox Code Playgroud)

它给出了以下错误.这段代码有什么问题?

Unresolved top-level overloading
*** Binding             : stringlength
*** Outstanding context : (Num b, Num (b -> b))
Run Code Online (Sandbox Code Playgroud)

hug*_*omg 8

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

(\_ n -> ... )
   ^^here
Run Code Online (Sandbox Code Playgroud)

目前,您正在匹配单个变量_n而不是反对,_并且n正如您可能想要的那样.