操作符
算术操作符
本软件支持下列的算术操作符:
操作符 | 说明 | 示例 |
---|---|---|
+ | 加法 | %=100 + 120% |
- | 减法 | %=100 - v_b% |
* | 乘法 | %=20 * v_b% |
/ | 除法 | %=20 / v_b% |
MOD 或者 \ |
求余 | %=v_b \ 10% |
INT | 取整 | %=25 INT 10% |
POW | 求幂 | %=2 POW 3% |
比较操作符
本软件支持下列比较操作符
操作符 | 说明 | 示例 |
---|---|---|
> | 大于 | %=v_a > 10% |
>= | 大于等于 | %=v_a >= 10% |
< | 小于 | %=v_a < 10% |
<= | 小于等于 | %=v_a <= 10% |
!= | 不等于(对文本比较不区分大小写) | %=v_a != 10% |
!== | 不等于(区分大小于,此操作符仅对文本有效) | %=v_a !=='Macro'% |
= 或者 == | 等于 (对文本比较不区分大小写) | %=v_a == 10% |
=== | 完全相等(区分大小写) | %=v_b === "Hello" % |
^= | 仅对文本有效,判断文本是否以给定的文本开始,不区分大小写。 | %=v_b ^= "Hel" % |
^== | 仅对文本有效,判断文本是否以给定的文本开始,区分大小写。 | %=v_b ^= "Hel" % |
$= | 仅对文本有效,判断文本是否以给定的文本结束,区分大小写。 | %=v_b $= "llo" % |
$== | 仅对文本有效,判断文本是否以给定的文本始结束,区分大小写。 | %=v_b $= "llo" % |
LIKE | 仅对文本有效,使用通配符来判断文本,区分大小写。 | %=v_b LIKE "He*o" % |
LIKENC | 仅对文本有效,使用通配符来判断文本,不区分大小写。 | %=v_b LIKENC "He*o" % |
CONTAINS or CT |
仅对文本有效,判断文本是否包含另一段文本,区分大小写。 | %=v_b CT "Hello" % |
CONTAINSNC or CTNC |
仅对文本有效,判断文本是否包含另一段文本,不区分大小写。 | %=v_b CTNC "Hello" % |
逻辑操作符
本软件支持下列的逻辑操作符:
操作符 | 说明 | 示例 |
---|---|---|
AND | 逻辑与操作 | %=v_a and v_b% |
OR | 逻辑或操作 | %=v_a or v_b% |
XOR | 逻辑异或操作 | %=v_a xor v_b% |
NOT | 逻辑非操作 | %=not (v_a > v_b)% |
位操作符
本软件支持下列逐位操作符,位操作符通常仅对数字有效。
操作符 | 说明 | 示例 |
---|---|---|
& | 逐位与运算 | %=v_a & v_b% |
| | 逐位或运算 | %=v_a | v_b% |
^ | 逐位异或运算 | %=v_a ^ v_b% |
~ | 逐位非运算 | %= ~v_a% |
不同种类操作符间的优先级
当一个表达式包含多种类别的操作符时,将按下列的规则顺序进行运算:
-
算术运算符通常具有最高优先级,具体看下一节“优先级顺序”。
-
所有比较符有相同的优先级,且比逻辑和位运算类的操作符优先级高。
-
表达式中可以使用括号改变优先级顺序。
-
一个表达式中如果有多个相同级别的操作符,在没有括号或是同一括号内,总是从左到右进行运算。
优先级顺序的详细列表
操作符按下列的顺序进行运算:
- 逐位非运算(~)和逻辑非(NOT)
- 求幂运算(POW)
- 乘法和除法(*, /)
- 取整(INT)
- 取余数(MOD)
- 加减法(+, -)
- 比较运算符(>, >=, <, <=, LIKE, LIKENC, CONTAINS, CONTAINSNC)
- 等于运算符(==, ===, !=, !==, ^=, ^==, $=, $==)
- 逐位位运算(&)
- 逐位异或运算(^)
- 逐位或运算(|)
- 逻辑与(AND)
- 逻辑异或 (XOR)
- 逻辑或 (OR)
改变操作符优先级
一个表达式中可以使用括号来强制改变运算符的优先级,如下例:
%= (8 + 4 ) * 20%
%= 8 * ( ( 20 + 4 ) * 20 )+4%