Language Reference - Operators

AutoItは次の代入、数学、比較、論理演算子を持っています。

 

演算子 説明

      代入演算子
=
代入 例:$var = 5     ($varに数字の5を代入)
+=
加算代入 例: $var += 1     ($varに1を足す)
-=
減算代入
*=
乗算代入
/=
除算代入
&=
連結代入  例:$var = "one"後、$var &= 10    ($varは"one10"となる。)

      数学演算子
+ 2つの数の加算  例:10 + 20    (30と同値)
- 2つの数の減算  例:20 - 10    (10と同値)
* 2つの数の乗算  例:20 * 10    (200と同値)
/ 2つの数の除算  例:20 / 10    (2と同値)
& 2つの文字列の連結/結合  例:"one" & 10    ("one10"と同値)
^ 数の累乗  例:2 ^ 4    (16と同値)

      比較演算子 (文字列に使用した場合、==以外では大文字小文字は区別されません。)
= 2つの値が同値かを判定します。  例:If $var= 5 Then    ($varが5のときtrue)。文字列の場合、大文字小文字を区別しません。
== 2つの文字列が同じかどうかを判定します。大文字小文字を区別します。 文字列でない場合は左右の値は文字列に変換されます。 この演算子は大文字小文字の区別が必要な文字列比較でのみ使用してください。
<> 2つの値が同値でないかを判定します。 文字列に使用された場合、大文字小文字を区別しません。 大文字小文字を区別した等号否定比較を行う場合はNot ("string1" == "string2")を使用してください。
> 1番目の値が2番目の値より大きいかを判定します。 文字列の内容が数字である場合でも文字列は辞書順で比較されます。
>= 1番目の値が2番目の値以上かを判定します。 文字列の内容が数字である場合でも文字列は辞書順で比較されます。
< 1番目の値が2番目の値未満かを判定します。 文字列の内容が数字である場合でも文字列は辞書順で比較されます。
<= 1番目の値が2番目の値以下かを判定します。 文字列の内容が数字である場合でも文字列は辞書順で比較されます。

      論理演算子
AND 論理AND演算子  例:If $var = 5 AND $var2 > 6 Then    ($var が 5 かつ $var2 が6より大きいとき、True)
OR 論理OR演算子  例:If $var = 5 OR $var2 > 6 Then    ($var が 5 または $var2 が6より大きいとき、True)
NOT 論理NOT演算子  例:NOT 1    (False)

 

式の中に複数の演算子が使われている場合、その適用の順番は演算子の優先順位.  に従います。 AutoItでの優先順位は下記のとおりです。  2つの演算子の優先順位が同じ場合、式は左から右に評価されます。

上から優先度高。

    NOT
    ^
    * /
    + -
    &
    < > <= >= = <> ==
    AND OR

 

例えば2 + 4 * 1042と評価されます。

    4 * 10    (イコール 40)

    2 + 40    (イコール 42)

*+よりも優先度が高いので加算の前に処理されます。  

 

カッコを使うことで式の特定の部分を最初に評価させることができます。

例えば(2 + 4) * 1060と同値です。


論理演算子 AND、ORを使う場合は下記の事項に注意。

例: If  MyFunc1() OR MyFunc2() Then     (MyFunc1()がtrueを返した場合、MyFunc2()は呼ばれません。)

例: If  MyFunc1() AND MyFunc2() Then   (MyFunc1()がfalseを返した場合、MyFunc2()は呼ばれません。)