AutoIt 支持以下赋值符号, 数学运算, 比较和逻辑运算符.
运算符
|
描 述
|
|
赋值操作
|
=
|
给变量赋值. 例如 $vVar = 5 (分配数值 5 到变量 $vVar)
|
+=
|
加法赋值. 例如 $vVar += 1 (添加 1 到变量 $vVar)
|
-=
|
减法赋值.
|
*=
|
乘法赋值.
|
/=
|
除法赋值.
|
&
|
串联/连接两个字符串. 例如 "one" & 10 (结果等于 "one10")
|
&=
|
串联赋值. 例如: $vVar = "one", 然后 $vVar &= 10 (变量 $vVar 现在等于 "one10")
|
|
数学运算符
|
+
|
两个数相加. 例如: 10 + 20 (结果等于 30)
|
-
|
两个数相减. 例如: 20 - 10 (结果等于 10)
|
*
|
两个数相乘. 例如: 20 * 10 (结果等于 200)
|
/
|
两个数相除. 例如: 20 / 10 (结果等于 2)
|
^
|
幂运算. 例如: 2 ^ 4 (结果等于 16)
|
|
比较运算符 (用于字符串时不区分大小写, 但 == 除外.)
|
=
|
判断两个值是否相等. 例如: If $var = 5 Then (如果 $vVar 等于 5, 则为 true). 比较字符串时 不区分大小写.
|
==
|
判断两个 字符串 是否相等. 区分大小写. 如果左, 右值不是字符串, 则必须转换为字符串. 仅用于需要区分大小写的字符串比较.
|
<>
|
Tests判断两个值是否不相等. 比较字符串时不区分大小写 要做一个区分大小写的不相等比较, 则使用 Not ("string1" == "string2")
|
>
|
判断左值是否大于右值. 字符串按字典顺序(lexicographically)进行比较, 即使字符串的内容是数字也如此.
|
>=
|
判断左值是否大于或等于右值. 字符串按字典顺序(lexicographically)进行比较, 即使字符串的内容是数字也如此.
|
<
|
判断左值是否小于右值. 字符串按字典顺序(lexicographically)进行比较, 即使字符串的内容是数字也如此.
|
<=
|
判断左值是否小于或等于右值. 字符串按字典顺序(lexicographically)进行比较, 即使字符串的内容是数字也如此.
|
|
逻辑运算符
|
And
|
逻辑 And(与) 运算. 例如: If $vVar = 5 And $vVar2 > 6 Then (如果变量 $vVar 的值为 5 并且 变量 $vVar2 的值大于 6 则条件成立--True).
|
Or
|
逻辑 Or(或) 运算. 例如: If $vVar = 5 Or $vVar2 > 6 Then (如果变量 $vVar 的值为 5 或者 变量 $vVar2 的值大于 6 则条件成立--True).
|
Not
|
逻辑 Not(非) 运算. 例如: Not 1 (不是 1, 则条件不成立--False).
|
|
条件运算符
|
? :
|
依据条件选择表达式. 例如: $condition ? $expression1 : $expression2 (如果 $condition 为 True 则 $expression1 成立; 否则如果 $condition 为 False 则 $expression2 成立) 参考 Ternary 运算符的示例.
|
当表达式内含有多个运算符时, 其运算的先后顺序由 运算符优先级 控制. AutoIt 运算符的优先级如下所示. 处于同一优先级的两种运算符, 则按 左到右的顺序运算.
最高到最低优先级的顺序:
Not
^
* /
+ -
&
< > <= >= = <> ==
And Or
例如: 2 + 4 * 10 运算结果为 42, 运算顺序如下:
4 * 10 (equals 40)
2 + 40 (equals 42)
乘号 * 拥有比加号 + 更高的优先级. 因此乘法运算发生在加法运算之前.
可以使用括号强制先计算表达式的一部分.
例如: (2 + 4) * 10 运算结果为 60.
当使用逻辑运算符 AND, Or 时, 请注意下面的情况:
例如: If MyFunc1() Or MyFunc2() Then (如果 MyFunc1() 返回 true, 则 If 语句不会继续调用 MyFunc2())
例如: If MyFunc1() And MyFunc2() Then (如果MyFunc1() 返回 false, 则 If 语句不会继续调用 MyFunc2())
注意: 需要谨慎比较混合数据类型, 除非使用 == 区分大小写的字符串使用运算符, 混合比较通常按数字顺序进行. 大多数字符串将被评估为 0, 这样的结果可能不会是一个预期结果. 建议在使用 数字/字符串 比较之前, 先强制比较项目为相同的数据类型.
----------------------------------------
|