码栈支持以下这些赋值符号,数学运算符,比较和逻辑运算符.
运算符详细信息 赋值运算 =赋值,如 $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") >判断第一个值(左边)是否大于第二个值(右边).Strings are compared lexicographically even if the contents of the string happen to be numeric.>=判断第一个值(左边)是否大于或等于第二个值(右边).Strings are compared lexicographically even if the contents of the string happen to be numeric.<判断第一个值(左边)是否小于第二个值(右边). Strings are compared lexicographically even if the contents of the string happen to be numeric.<=判断第一个值(左边)是否小于或等于第二个值(右边). Strings are compared lexicographically even if the contents of the string happen to be numeric. 逻辑运算 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)
当一个表达式内含有多个运算符时, 其结合的先后顺序由 运算符的优先级别来控制. 码栈中运算符的优先级如下所示.处于同一优先级的两种运算符将按 从左到右的顺序结合
越上面的运算符则优先级越高:
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() 不会被调用)
