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() 不会被调用)