给定let ra = ResizeArray<int> ()
:
Seq.forall (fun i ->
let q = i % 2
if 0 = q then ra.Add i
true ) <| seq { 1..10 }
如果我这样做,ra.Count
返回5
.
Seq.forall (fun i ->
let q = i % 2
if 0 = q then ra.Add i
0 = q ) <| seq { 1..10 }
如果我这样做,ra.Count
返回0
.
那么,除非 lambda 函数的每次迭代都计算为 true,否则函数中的任何代码都不会被执行,还是什么?
这里发生了什么?