ロジックブロックは、数式や論理式の結果を条件にして、異なるオペレーションを実行できます。
以下のロジックブロックは、条件の結果に応じてオペレーションを実行します。値ブロックまたはロジックブロックで [If] または [If Else] 条件を設定します。
以下のロジックブロックは、条件に使用する数値や論理値を出力します。
通信エラー (変数のクオリティが「bad」)
範囲外の配列要素番号へのアクセス
ゼロ除算
ロジックブロックに未定義の値が含まれると、結果は未定義となります。ただし、[論理的条件] の場合は結果を出力できる場合があります。
'if(CONDITION){}'
スクリプトの実行中、[If] 条件が未定義の場合、ブロックは終了します。
'if(CONDITION){}else{}'
スクリプトの実行中、[If] 条件が未定義の場合、ロジックは [Do] を実行せず [Else] オペレーションを実行します。
'SOURCE1 * SOURCE2'
演算子 |
式 |
説明 |
| + | X + Y | 加算 |
| - | X - Y | 減算 |
| * | X * Y | 乗算 |
| / | X / Y | 除算 |
| % | X % Y | 除算の余り |
| & | X & Y | ビット単位の AND 演算の結果を返します。X = 0110; Y= 1100 の場合、結果は 0100 です。 |
| | | X | Y | ビット単位の OR 演算の結果を返します。X = 0110; Y= 1100 の場合、結果は 1110 です。 |
| ^ | X ^ Y | ビット単位の XOR 演算の結果を返します。X = 0110; Y= 1100 の場合、結果は 1010 です。 |
| << | X << Y | 左シフト。X 内のビットが、ビットの位置から左に Y 個分シフトします。符号は保持されます。 |
| >> | X >> Y | 右シフト。X 内のビットが、ビットの位置から右に Y 個分シフトします。符号は保持されます。 |
| >>> | X >>> Y | ゼロ挿入、右シフト。X 内のビットが、ビットの位置から右に Y 個分シフトします。シフトされた左側は 0 が挿入され、符号は保持されません。 |
数式の結果には、小数点が含まれます。
(例 1)
以下の場合、INT1 の値が 101 であれば、結果は 10.1 になります (.1 は切り捨てされません)。

'INT1 / 10'
小数点を切り捨てるには、floor ブロックを使用します。
(例 2)
以下の場合、INT1 の値が 101 であれば、結果は 10 になります。

'$Math.floor((INT1 / 10))'
このブロックは比較条件です。値ブロックを左のオペランド (X) と右のオペランド (Y) に挿入し、演算子を選択します。
'CONDITION1 == CONDITION2'
演算子 |
説明 |
例 |
<= |
X の値が Y の値以下の場合は、真を返します。 |
X = 7 かつ Y = 33 の場合、式 X <= Y は真です。 |
>= |
X の値が Y の値以上の場合は、真を返します。 |
X = 32 かつ Y = 10 の場合、式 X >= Y は真です。 |
| < | X の値が Y の値より小さい場合は、真を返します。 |
X = 7 かつ Y = 38 の場合、式 X < Y は真です。 |
| > | X の値が Y の値より大きい場合は、真を返します。 |
X = 27 かつ Y = 14 の場合、式 X > Y は真です。 |
| != | X の値が Y の値と等しくない場合は、真を返します。 |
X = 7 かつ Y = 33 の場合、式 X != Y は真です。 |
| == | X の値が Y の値と等しい場合は、真を返します。 |
X = 5 かつ Y = 5 の場合、式 X == Y は真です。 |
このブロックは論理的条件です。値ブロックを左のオペランド (X) と右のオペランド (Y) に挿入し、演算子を選択します。
'CONDITION1 && CONDITION2'
| 演算子 | 説明 |
例 | ||||||||||||||||||
| && | 論理積 両方が真の場合は真を返します。 |
X = 真 かつ Y = 偽 の場合、式 X && Y は偽です。 片方のオペランドの値が未定義でも、もう一方のオペランドが偽であれば、結果として論理条件は偽と評価される可能性があります。以下の表を参照してください。
|
||||||||||||||||||
| || | 論理和 両方の入力が偽である場合以外、真を返します。 |
X = 真 かつ Y = 偽 の場合、式 X || Y は真です。 片方のオペランドの値が未定義でも、もう一方のオペランドが真であれば、結果として論理条件は真と評価される可能性があります。以下の表を参照してください。
|
このブロックは論理否定またはビット否定を行います。値ブロックをオペランド (X) に挿入し、演算子を選択します。
'!SOURCE'
| 演算子 | 説明 |
例 |
| ! | 論理否定 BOOL 値の逆を返します。 |
X = 偽 の場合、結果は真です。 |
| ˜ | ビット否定 各ビットの逆の値を返します。 整数を使用する場合、ビット式のビット長は常に 32 ビットです。 |
X = 0011 の場合、結果は 1100 です。 |