通过循环语句对数组元素进行与运算,用一个临时变量,循环AND所有条件,得到综合结果。

执行过程分析:
假设4个阀门的 AposSignal 分别为:TRUE, TRUE, FALSE, TRUE
| 步骤 | 执行 | 结果 |
|---|---|---|
| 准备 | #bAllShapeRetOk := true; | #bAllShapeRetOk = TRUE |
| 第1次循环(#i=0) | TRUE AND TRUE | = TRUE → #bAllShapeRetOk = TRUE |
| 第2次循环(#i=1) | TRUE AND TRUE | = TRUE → #bAllShapeRetOk = TRUE |
| 第3次循环(#i=2) | TRUE AND FALSE | = FALSE → #bAllShapeRetOk = FALSE ⚠️ |
| 第4次循环(#i=3) | FALSE AND TRUE | = FALSE → #bAllShapeRetOk = FALSE |
| 结束 | 循环完毕 | 最终结果 = FALSE |
原理分析:
| 为毛要先假设? | 因为要检查”全部为TRUE”,初始必须是TRUE |
| 如果初始是FALSE会怎样? | 结果永远是FALSE,因为 FALSE AND 任何值 = FALSE |
| 这个技巧叫什么? | 累加器/累积AND运算 |
| 什么时候用? | 检查”所有条件都满足”时 |
记住一个口诀:
找全对,先设 TRUE;碰一个错,结果就翻车。