The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
“bool”数据类型生成逻辑真或假。
逻辑/布尔运算符

逻辑/布尔表达式
如果(<boolean expressions>)
{
.....<block>
}
<boolean expressions> 将包含要计算的单个或复杂表达式。 <block> 表示只有当 <boolean expressions> 被评估为 true 时才会执行的代码块。
更多布尔表达式:
| 布尔表达式 | 这是什么意思 |
| 如果(x==10) | 如果 x 等于 10 |
| 如果 (x <= 10) | 如果 x 小于 且 等于 10 |
| 如果(x > 10 || y > 20) | 如果 x 大于 10 或 y 大于 20 |
| 如果 (x <= 10 && y <= 20) | 如果 x<=10 和 y<=20 |
| 如果 !(x > 10 || y > 20) | 如果 x<=10 和y<=20 |
| 如果 ( !( x <=10 || x >=20) ) | 如果 x>10 和x<20 |
使用布尔表达式时要特别小心!
布尔类型 (bool) 是一个简单的整数值。
我们来看看 if (... ) 是如何解释的:
-
if (...)将由编译器计算;它产生真或假的含义。 - 事实是:当 ( ... ) 产生 0 以外的任何值(即零)时,
if ( .... )将意味着 true。 - 所以:以下表达式始终为真:
- 如果 (1)
- 如果 (10)
- if(任何结果非零)
必须注意的常见错误:
示例1:
整数X=10,Y=20;
if (X = Y)
Brain.Screen.print("X 和 Y 相同。");
else
Brain.Screen.print("X 和 Y 不同。");
输出:X 和 Y 相同。
为什么?
if (X = Y)实际上意味着:
- 将 Y 赋给 X,因此 X 的值为 20
- 编译器将其解释为 if (20),其中 (20) 为 true,但它不是 (0)。
示例2:
整数X=0,Y=0;
if (X = Y)
Brain.Screen.print("X 和 Y 相同。");
else
Brain.Screen.print("X 和 Y 不同。");
输出:X 和 Y 不同。
为什么?
if (X = Y) 实际上意味着:
- 将 Y 分配给 X,因此 X 的值为 0(零)。
- 编译器将其解释为: (0) 为 false。