我执行以下foldl
操作
foldl (fn (acc,y) => if acc>y then acc else y+1) 0 [1,3]
所以,我希望这会产生一个结果,4
但它会产生一个输出3
。我错过了什么?
我的痕迹是这样的:
acc: 0 y: 1
acc: 2 y: 3
由于 acc > y,即 2>3,它应该进入 else 分支并返回 4 (3+1)。
我执行以下foldl
操作
foldl (fn (acc,y) => if acc>y then acc else y+1) 0 [1,3]
所以,我希望这会产生一个结果,4
但它会产生一个输出3
。我错过了什么?
我的痕迹是这样的:
acc: 0 y: 1
acc: 2 y: 3
由于 acc > y,即 2>3,它应该进入 else 分支并返回 4 (3+1)。