BotScript 变量与类型速查
语法片段一页集成,配合第 3 课使用。后续语法课会继续往这里加。
定义与赋值
Dim a // 只声明,值为 Null
Dim b = 1 // 声明并赋值
Dim c, d = True // 定义两个变量,只给 d 赋值
a = 1 // 直接赋值(也可不声明)
Const e = 'Laiye' // 常量:定义后不可再改
Const f // 错误:常量必须有初始值
可视化视图对应命令:基本命令 ▸ 变量赋值。
命名规则
- 可用英文字母、下划线、汉字;首字符后还可带数字。
- 不区分大小写:
abc=ABC=Abc。 - 推荐有意义的名称。
数据类型
| 类型 | 写法 | 示例 |
|---|---|---|
| 整数型 | 十进制,或 &H 前缀十六进制 | 3、&HFF |
| 浮点数型 | 常规或科学计数法 | 0.01、1E-2 |
| 字符串型 | 一对单/双引号;'''...''' 为长字符串 | "小明"、'Laiye' |
| 布尔型 | True / False(不分大小写) | True |
| 空值型 | Null(不分大小写) | Null |
| 复合型 | 数组 [ ]、字典 { }(另见数组/字典专题) | [1,2,3]、{"k":1} |
动态类型:变量类型随值变化,无需声明类型。
转义字符(字符串内)
| 写法 | 含义 |
|---|---|
\n | 换行 |
\t | 制表符 |
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠本身 |
运算符
算术 / 连接
+ 加 · - 减/求负 · * 乘 · / 除& 连接字符串^ 求幂 · Mod 取余数
比较 / 逻辑
< <= > >= <> 不相等 · = 相等And 与 · Or 或 · Not 非
注意:= 单独成句是赋值,出现在表达式里是判断相等。字符串拼接用 &,不是 +。
逻辑语句
条件分支(无 Then)
If 条件
语句块
ElseIf 条件2
语句块
Else
语句块
End If
多重等值分支
Select Case 表达式
Case 值1, 值2
语句块
Case Else
语句块
End Select
要点:BotScript 的 If 后不写 Then;条件应为布尔型,否则自动转换。End If / End Select 收尾。
循环语句
计次循环(固定次数)
For i = 起始 To 结束 Step 步长
语句块
Next
Step 可省(默认 1);循环变量不用 Dim,循环后失效。
遍历循环(数组/字典)
For Each 值 In 数组或字典
语句块
Next
For Each 索引, 值 In 字典
语句块
Next
条件循环
Do While 条件 ... Loop(先判断,真则循环)Do Until 条件 ... Loop(先判断,假则循环)Do ... Loop While 条件(后判断,至少一次)Do ... Loop Until 条件(后判断,至少一次)Do ... Loop(无限,需自行 Break)
跳出语句
Break | 跳出整个循环 |
Continue | 结束本次,开始下一轮 |
Exit | 结束整个流程 |
Break/Continue 只能在循环体内。
数组与字典(复合类型)
数组:一排带编号的格子(下标从 0 起)
Dim a = [31, 28, 31]
a[0] // 31(第一个)
Dim 混合 = [1, "小明", True]
Dim 表 = [["张三","语文"],["李四","数学"]]
表[1][0] // 李四(二维)
字典:按名字取值(键只能是字符串)
Dim d = {"姓名":"张三", "年龄":"26"}
d["姓名"] // 张三
d["年龄"] = "30" // 修改
d["性别"] = "男" // 新增一项
| 操作 | 写法 |
|---|---|
| 遍历数组 | For Each 值 In 数组 ... Next |
| 遍历字典(名字+值) | For Each 键, 值 In 字典 ... Next |
| 别名陷阱 | b = a 只是取别名,b[1]=99 会改到 a |
| 追加元素 | 命令:数组 ▸ 在数组尾部添加元素 |
| 筛选元素 | 命令:数组 ▸ 过滤数组数据 |
| 文本转数组 | 命令:字符串 ▸ 分割字符串 |
数据表(DataTable)= 带表头的二维数组,可排序、筛选;构建数据表用一维数组做表头、二维数组做数据。读 Excel 常得到数据表。
注释
// 单行注释
/* 多行
注释 */
大小写与换行
- 关键字、变量名、函数名均不区分大小写。
- 一行多条语句用冒号
:分隔;推荐一行一条。 - 需折行时,在逗号或二元运算符后直接折行;否则用
\作为折行符。
常用内置命令(同时也是函数)
| 命令 | 作用 |
|---|---|
TracePrint(...) | 输出调试信息(可视化命令:输出调试信息) |
Delay(ms) | 延时若干毫秒 |
| 转为文字数据 | 把数值等转为字符串,便于拼接 |
| 转为整数数据 | 把文本等转为整数 |