【发布时间】:2016-09-04 07:01:16
【问题描述】:
我无法理解使用foldr 实现foldl 函数。我已阅读此问题 (Writing foldl using foldr),但在以下示例中仍有一些我不明白的地方:
fun :: [Int] -> [Int]
fun l = foldr g (const []) l 1
where g x f lst = if gcd x lst == 1 then x : f x else f lst
该函数将一个列表作为参数并返回另一个列表,其中gcd(l[i], l[i + 1] = 1。
我的问题如下:
1.x、f和lst是谁
2、const[]是什么,为什么我不能使用id功能?
【问题讨论】:
-
1:你的
g函数的参数,2.const x = \y -> x
标签: haskell