运算子
布尔运算子
布尔运算符在if和while语句中使用,因为布尔运算返回的是条件成立与否。下表给出了所有的布尔运算符。x,y,z表示数字,a和b表示布尔值。
x > y |
大于 |
x # y |
不等于 |
x<y |
小于 |
in_range(x,y,z) |
x介于y和z之间时为真 |
x >= y |
大于等于 |
not a |
若a为假,则整体为真,反之亦然 |
x <= y |
小于等于 |
a and b |
若a、b均为真,则整体为真 |
x = y |
等于 |
a or b true |
若a或b为真,则整体为真 |
算数运算子
下表中是脚本语言中可用的算数运算子:
x + y |
加 |
-x |
取负 |
x – y |
减 |
abs(<表达式>) |
取表达式的绝对值 |
x * y |
乘 |
inc(<表达式>) |
向表达式加1 |
x / y |
除 |
dec() |
向表达式减1 |
x mod y |
求余 |
|
|
位元运算子
下表中是可用的位元运算子
x .and. y |
按位与 |
x .or. y |
按位或 |
.not. x |
按位否 |
sh_left(<表达式>,<移位位元数>) |
将<表达式> 中的位元左移,移动量为<移位位元数> |
sh_right(<表达式>,<移位位元数> |
将<表达式> 中的位元右移,移动量为<移位位元数> |
阵列函数
下列的函数可以简化阵列的使用:
sort(<阵列变量>,<方向>) |
按升序或降序的次序排列阵列。方向=0时,按升序排列,否则为降序排列。 |
num_elements(<阵列变量>) |
返回阵列元素中的元素数量。例如num_elements(%GROUPS_AFFECTED)返回当前事件(event)影响的音组(group)数量。 |
search(<阵列变量>,<值>) |
在指定阵列中搜索值,并返回对应的索引。例如:$a := search(%array, 10)会在阵列中搜索数值10,并返回第一个匹配项的位置,赋值给$a。如果程序找不到对应值,则返回-1。 |
array_equal(<阵列变量1>,<阵列变量2>) |
比对两个阵列的值,若相等则返回真。 |
随机数发生器
random()函数在<最小值>和<最大值>间生成随机数:
random(<最小值>,<最小值>) |
生成随机数 |