【发布时间】:2013-01-17 19:24:40
【问题描述】:
我执行以下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)。
【问题讨论】:
标签: functional-programming sml smlnj fold ml