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」データ型は、論理的に true または false を生成します。
論理演算子/ブール演算子
論理式/ブール式
if(<boolean expressions>) { .....<block> }
<boolean expressions>
評価される単一または複合式が含まれます。 <block>
、 <boolean expressions>
が true と評価された場合にのみ実行されるコード ブロックを意味します。
その他のブール式:
ブール式 | その意味 |
if (x == 10) | x が 10 に等しい場合 |
if (x <= 10) | x が 未満で、 10 に等しい場合 |
if (x > 10 || y > 20) | x が 10 より大きい場合 または y が 20 より大きい場合 |
if (x <= 10 && y <= 20) | x<=10 および y<=20 の場合 |
if !(x > 10 || y > 20) | x<=10 およびy<=20 の場合 |
if ( !( x <=10 || x >=20) ) | x>10 およびx<20 の場合 |
ブール式を使用する場合は特に注意してください。
ブール型 (bool) は単純な整数値です。
if (... )
がどのように解釈されるかを見てみましょう。
-
if (...)
コンパイラによって計算されます。それは真か偽かの意味を生み出します。 - 真実は、 ( ... ) が 0 以外 (つまりゼロ) を生成する場合、
if ( .... )
true を意味します。 - したがって、次の式は常に true です。
- もし(1)
- もし ( 10 )
- if (結果がゼロ以外になる場合)
注意が必要な一般的なエラー:
例 1:
int X = 10、Y = 20; if (X = Y) Brain.Screen.print("X と Y は同じです。"); else Brain.Screen.print("X と Y は異なります。");
出力: X と Y は同じです。
なぜ?
(X = Y)の場合は、実際には次のことを意味します。
- Y を X に代入すると、X の値は 20 になります。
- コンパイラはこれを (20) であるかのように解釈します。(20) は (0) ではなく true です。
例 2:
int X = 0、Y=0; if (X = Y) Brain.Screen.print("X と Y は同じです。"); else Brain.Screen.print("X と Y は異なります。");
出力: X と Y は異なります。
なぜ?
(X = Y) の場合は、実際には次のことを意味します。
- Y を X に代入すると、X の値は 0 (ゼロ) になります。
- コンパイラはこれを次のように解釈します: (0) は false。