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,则为真 |