标签: haskell
我想了解如何评估Haskell foldr的以下代码。
k x y = x foldr k 1 [0..5]
结果为0,但我不明白为什么它为零?我想x是1,列表中的任何元素都是y。请问有人向我解释一下吗?我在网上搜索过但却找不到任何有用的东西。
答案 0 :(得分:10)
Haskell Wiki有一些有关如何解释foldr的有用信息,包括此图片:
foldr
您可以看到表达式扩展为:
0 `k` (1 `k` ... (5 `k` 1)))))