语言相关 - 运算符

AutoIt 支持以下这些赋值符号,数学运算符,比较和逻辑运算符.

 

运算符 详细信息

      赋值运算
=
赋值,如 $var = 5     (赋值数字5到 $var)
+=
自增赋值,如 $var += 1     (添加 1$var)
-=
自减赋值.
*=
自乘赋值.
/=
自除赋值.
&=
连续赋值.  如 $var = "one", 然后 $var &= 10    ($var 的结果为 "one10")

      数学运算
+ 使两个数相加. 如 10 + 20    (等于 30)
- 使两个数相减.如 20 - 10    (等于 10)
* 使两个数相乘.如 20 * 10    (等于 200)
/ 使两个数相除.如 20 / 10    (等于 2)
& 使两个字符串连接起来.比如 "one" & 10    (等于"one10")
^ 提高某个数的幂.比如 2 ^ 4    (2 的 4次方,等于 16)

      比较运算 (大小写敏感的字符串需要使用 == 来比较)
= 判断两个值是否相等.  比如 If $var= 5 Then    (如果变量 $var 的值为 5 则条件成立). 用于字符串时不区分大小写
== 判断两个字符串是否相等.左方和右方的值将会转化成字符串,并区分大小写,这个运算只能用于区分字符串大小写的比较.
<> 判断两个值是否不相等. 用于字符串时不会大小写敏感. 要比较一个大小写敏感的不等于操作使用 Not ("string1" == "string2")
> 判断第一个值(左边)是否大于第二个值(右边).字符串将会根据字符代码逐字进行比较,即使字符串是一个数字("99" >"888" = True).
>= 判断第一个值(左边)是否大于或等于第二个值(右边).字符串将会根据字符代码逐字进行比较,即使字符串是一个数字("99" >"888" = True).
< 判断第一个值(左边)是否小于第二个值(右边). 字符串将会根据字符代码逐字进行比较,即使字符串是一个数字("99" >"888" = True).
<= 判断第一个值(左边)是否小于或等于第二个值(右边). 字符串将会根据字符代码逐字进行比较,即使字符串是一个数字("99" >"888" = True).

      逻辑运算
AND 逻辑与运算. 如 If $var = 5 AND $var2 > 6 Then    (如果变量 $var 的值为 5 而且 变量 $var2 的值大于 6 则条件成立 )
OR 逻辑或运算. 如 If $var = 5 OR $var2 > 6 Then    (如果变量 $var 的值为 5 或者变量 $var2 的值大于 6 则条件成立)
NOT 逻辑非运算. 如NOT 1    (结果为False)

 

当一个表达式内含有多个运算符时, 其结合的先后顺序由 运算符的优先级别来控制.  AutoIt 中运算符的优先级如下所示.处于同一优先级的两种运算符将按 从左到右的顺序结合

越上面的运算符则优先级越高:

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

 

例如表达式 2 + 4 * 10 的值将是 42,结合顺序如下:

    4 * 10    (结果为40)

    2 + 40    (结果为42)

乘号 * 拥有比加号 + 更高的优先级. 会进行

 

您还可以使用括号来使表达式内的某些部分优先被计算.

(2 + 4) * 10 结果等于 60.


下方使用了逻辑操作 AND, OR:

e.g. If  MyFunc1() OR MyFunc2() Then     (如果 MyFunc1() 返回 true 则 MyFunc2() 不会被调用)

e.g. If  MyFunc1() AND MyFunc2() Then    (如果 MyFunc1() 返回 false 则 MyFunc2() 不会被调用)