我可以看到它是如何做到的
errors
但我无法弄清楚它是如何得到2的 (foldl - 1'(1 2 3 4 5))== 2
我认为(foldl - 1'(1 2 3 4 5))将是((((1-1)-2)-3)-4)-5),一个负数。我错过了什么?
我能看出原因 (foldl + 1'(1 2 3 4 5))== 16
答案 0 :(得分:6)
(foldl - 1 '(1 2 3 4 5))
实际上等同于(- 5 (- 4 (- 3 (- 2 (- 1 1)))))
,或者在中缀中,5 - (4 - (3 - (2 - (1 - 1))))
。
同样,(foldr - 1 '(1 2 3 4 5))
实际上等同于(- 1 (- 2 (- 3 (- 4 (- 5 1)))))
,或者在中缀中,1 - (2 - (3 - (4 - (5 - 1))))
。