Haskell foldr用于列表

ede*_*iss 2 haskell

给出以下示例

foldr(\ x y -> ........
Run Code Online (Sandbox Code Playgroud)

如果输入是一个列表,例如[1,2,3]

什么是x,什么是y?

小智 5

我们来看看它的类型foldr.

foldr :: (a -> b -> b) -> b -> [a] -> b
Run Code Online (Sandbox Code Playgroud)

由于您提供了使用x和的函数y,您可以从类型中看到x将是list([1,2,3])中的值,y必须是累加器值,您使用第二个参数初始化它foldr.