BlitzMax/语言/表达式
外观
BlitzMax 支持以下运算符。运算符按优先级分组,从最高优先级的运算符开始
运算符 | 语法 |
子表达式 | ( 表达式 ) |
新对象 | New 类型名称 |
字面量 | 值 |
标识符 | 值 |
自身对象 | Self |
超类对象 | Super |
空值 | Null |
圆周率 | 圆周率 |
True | True |
False | False |
最小值 | Min ( 表达式1 , 表达式2 ) |
最大值 | Max ( 表达式1 , 表达式2 ) |
成员 | 表达式 . 标识符 |
索引 | 表达式 [ 索引表达式 ] |
调用 | 表达式 ( 参数 ) |
取反 | - 表达式 |
正值 | + 表达式 |
按位取反 | ~ 表达式 |
布尔非 | Not 表达式 |
绝对值 | Abs 表达式 |
符号 | Sgn 表达式 |
值字节大小 | SizeOf 表达式 |
变量地址 | Varptr 变量 |
转换类型表达式 | 类型 表达式 |
幂 | 表达式 ^ 表达式 |
乘法 | 表达式 * 表达式 |
除法 | 表达式 / 表达式 |
余数 | 表达式 Mod 表达式 |
按位左移 | 表达式 Shl 表达式 |
按位右移 | 表达式 Shr 表达式 |
算术右移 | 表达式 Sar 表达式 |
加法 | 表达式 + 表达式 |
减法 | 表达式 - 表达式 |
按位与 | 表达式 & 表达式 |
按位或 | 表达式 | 表达式 |
按位异或 | 表达式 ~ 表达式 |
等于 | 表达式 = 表达式 |
不等于 | 表达式 <> 表达式 |
小于 | 表达式 < 表达式 |
大于 | 表达式 > 表达式 |
小于或等于 | 表达式 <= 表达式 |
大于或等于 | 表达式 >= 表达式 |
条件与 | 表达式 And 表达式 |
条件或 | 表达式 Or 表达式 |
此外,还支持以下内置函数
函数 | 语法 |
字符代码 | Asc ( 表达式 ) |
字符 | Chr ( 表达式 ) |
值长度 | Len ( 表达式 ) |
Null 返回 0,空字符串,空数组,空对象或指向 0 的指针,具体取决于上下文。
True 和 False 是分别具有值 1 和 0 的整数常量。
索引运算符可以用于数组或字符串。如果用于数组,则返回指定索引处的元素。如果用于字符串,则返回指定索引处的字符的字符代码。
The Not 运算符'反转'布尔表达式的逻辑。如果表达式计算结果为 true,则 Not 返回 false,反之亦然。
Asc 返回字符串第一个字符的字符值,如果字符串长度为 0,则返回 -1。
Chr 使用指定的字符值构造一个 1 个字符的字符串。
Len 可以用于字符串或数组。当用于字符串时,Len 返回字符串中的字符数。当用于数组时,Len 返回数组中的元素数。对于多维数组,Len 返回元素的总数。
通常需要将表达式视为“真”或“假”,例如,用于 If 语句。
确定表达式是真还是假的规则如下
表达式类型 | 真值条件 |
数值 | 如果值不等于 0,则为真 |
对象 | 如果对象不等于 Null,则为真 |
字符串 | 如果长度不等于 0,则为真 |
数组 | 如果长度不等于 0,则为真 |