式 & 演算子

式は、ブロック内の入力引数として使用できます。 たとえば、Expression true ブロックを使用して、式がtrueと評価されるかどうかを確認します。

式を作成するには、入力引数フィールド内の「fx」アイコンから取り消し線をタップして「式モード」に切り替え、もう一度タップして「定数モード」に戻ります。

式 / Expressions

式は、値に解決される有効なコード単位です。 Automateには次の式カテゴリがあります :

演算子 / Operators

Automateには次のタイプの演算子があります :

算術演算子 / Arithmetic operators

算術演算子は、オペランドとして数値(リテラルまたは変数のいずれか)を取り、一つの数値を返します。 数値以外のオペランドは、最初に数値に変換されます。 

加算 - Addition, +

二項演算子 ; 1 + 2 の戻り値は 3.

減算 Subtraction, -

二項演算子 ; 2 - 1 の戻り値は 1.

乗算 - Multiplication, *

二項演算子 ; 2 * 2 の戻り値は 4.

除算 - Division, /

二項演算子 ; 10 / 3 の戻り値は 3.333. 10 / 0 の戻り値は Infinity.

整数除算 / Integer division, //

二項演算子 ; 10 // 3 の戻り値は 3. 10 // 0 の戻り値は Infinity.

モジュラス(剰余) /  Modulus (remainder), %

2つのオペランドの除算の余りを返す二項演算子 ; 12 % 5 の戻り値は 2.

ネゲート / Negate, -

オペランドの否定を返す単項接頭演算子 ; -(-5) の戻り値は 5.

ビット演算子

ビット演算子は、オペランドを32ビットのセットとして扱います。

Bitwise AND, &

両方のオペランドの対応するビットが1である各ビット位置に1を返す2項演算子 ; 0b0101 & 0b0011 の戻り値は 0xb0001.

Bitwise OR, |

いずれかまたは両方のオペランドの対応するビットが1である各ビット位置に1を返す2項演算子 ; 0b0101 | 0b0011 の戻り値は 0b0111.

Bitwise XOR, ^

両方ではなくいずれかのオペランドの対応するビットが1である各ビット位置に1を返す2項演算子 ; 0b0101 ^ 0b0011 の戻り値は 0x0110.

Bitwise NOT, ~

オペランドのビットを反転する単項演算子 ; ~0b1 の戻り値は 0xFFFFFFFE.

左ビットシフト / Left bit shift, <<

A binary operator that shifts the bits to the left; 0b10010111 << 1 の戻り値は 0b00101110.

右ビットシフト / Right bit shift >>

負の数の符号を維持しながら、ビットを右にシフトする二項演算子 ; 0b10010111 >> 1 の戻り値は 0b11001011.

ゼロ埋め右ビットシフト / Zero-fill right bit shift >>>

負の数の符号を保持せずにビットを右にシフトする二項演算子 ; 0b10010111 >>> 1 の戻り値は 0b01001011.

比較演算子 / Comparison operators

比較演算子は、そのオペランドを比較し、比較が真であるかどうかに基づいて論理値を返します。 オペランドは、数値 またはテキスト にすることができます。 オペランドの値型が異なる場合は0が返されます。 テキストは、大文字と小文字を区別する辞書式順序で比較されます。 A comparison operator compares its operands and returns a logical value based on whether the comparison is true. The operands can be 数値 or テキスト . If the value type of operands differ 0 is returned. Texts are compared on case-sensitive lexicographical order.

等しい / Equal, =

オペランドが等しい場合に1を返す2項演算子 ; 3 = 3 returns 1.

等しくない / Not equal, !=

オペランドが等しくない場合に1を返す2項演算子 ; 3 != 3 returns 0.

より大きい / Greater than, >

左のオペランドが右のオペランドより大きい場合に1を返す2項演算子 ; 2 > 2 returns 0.

以上 /Greater or equal, >=

左のオペランドが右のオペランド以上の場合に1を返す2項演算子 ; 2 >= 2 returns 1.

より小さい / Less than, <

左のオペランドが右のオペランドよりも小さい場合に1を返す2項演算子 ; 2 < 2 returns 0.

以下 / Less or equals, <=

左のオペランドが右のオペランド以下の場合に1を返す2項演算子 ; 2 <= 2 returns 1.

論理演算子 / Logical operators

Automateには、trueまたはfalseの値型もリテラルもありません。代わりに、以下は false と見なされます。 :

他のすべての値は true と見なされます。

Logical AND, &&

falseと評価された場合は左のオペランドを返し、それ以外の場合は右のオペランドが返される二項演算子 ; 2 && 3 returns 3.

Logical OR, ||

trueと評価された場合は左のオペランドを返し、それ以外の場合は右のオペランドを返す2項演算子 ; 2 || 3 returns 2.   null || 0 || "Hi " returns "Hi ".

Logical NOT, !

オペランドがtrueと評価された場合は1を返し、それ以外の場合は0を返す単項プレフィックス演算子 ; !3 returns 0.

特別演算子 / Special operators

数値に変換 / To number, +

数値に変換されるオペランドを返す単項接頭演算子 ; +"2 " returns 2, +"0xFF " returns 255.

テキストに変換 / To text, ++

テキストに変換されるオペランドを返す単項プレフィックス演算子 ; ++2 returns "2 ".

テキストを結合 / Text concatenation, ++

テキストに連結される2つのオペランドを返す2項演算子 ; "Good "++"bye " returns "Goodbye ",     2++2 returns "22 ".

条件付き / Conditional, ? と :

三項演算子, operand ? operand : operand  ,1番目のオペランドtrue と評価された時に, 2番目のオペランドが返されます。それ以外は3番目のオペランドが返ってきます;  2 = 2 ? "two " : "other " この場合は "two ".

長さ / Length, #

単項接頭演算子, number = #Value

添字 / Subscript [ ]

二項演算子, operand[operand];

定式 / Constant expression

定数式では、数値テキスト配列、および辞書null とリテラルのみを使用できます。