VEXcode Pro V5 でのブール値の使用

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。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: