Дано 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
.
Итак, что, если каждая итерация лямбда-функции не оценивается как true, тогда фактически ни один код в функции не выполняется, или что ??
Что происходит здесь?