UiBot中的变量是动态类型的,无需再定义的时候声明变量的类型,即变量的值和类型都可以在运行过程中动态改变。这也符合一般脚本语言如Python、Lua、JavaScript的习惯。
定义变量名的方式是:
Dim 变量名
再定义变量名的同时可以给变量赋值一个初始值:
Dim 变量名 = 值
想要定义多个变量的话,可以这样定义:
Dim 变量名=值, 变量名1
Dim 变量名=值, 变量名=值
同理,想要定义一个常量就可以这样定义:
Const 常量名=值, 常量名=值
变量名的定义基础规范:
变量名可以用英文字母、下划线(_),任意UTF-8编码中包含的除英语以外其他语言的字符(当然,也包括汉字)表示,除了第一个字符外,后面还可以使用0-9的数字。变量名不区分大小写。
UIBot中变量的类型分为以下几种:整数型、浮点数型、布尔型、字符串型、函数型、复合型和空值型
整数型:
整数型的值可以以十进制或者十六进制的方式表示,其中十六进制需加前缀 &H 或 &h
范例:123, &HFA, &hFA
浮点数型:
浮点数的值可以用常规方式或者科学计数法方式表示。如0.01或者1E-2或者1e-2均代表同一个浮点数
范例:11.235, 2E3, 2e3
布尔型:
布尔型的值仅有True或者False,两者皆不区分大小写, True表示真, False表示假,布尔型变量中非真即假
字符串型:
字符串型的值用一对单引号(’)或一对双引号(”)所包围
范例:“字符串”, ‘字符串’
字符串转义:
在字符串中会用一些特殊符号来表示一些特定的含义:
t 代表制表符,用 n 代表换行,用 ’ 代表单引号,用 ” 代表双引号,用 代表反斜杠本身
长字符串:
可以用前后各三个单引号来(’’’)表示一个字符串,这种字符串被称为长字符串。在长字符串中,可以直接写回车符、单引号和双引号,无需用n,’或者”
范例:’’‘字符串第一行,
字符串第二行,
字符串第三行’’’
函数型:
函数型的值只能是已经定义好的函数
空值型:
空值型的值总是Null,不区分大小写
复合型的变量类型包含了数组、字典两种类型,两种类型的定义和普通变量类似
数组类型的变量的表示:
使用小写方括号包围起来,使用逗号来分隔每个元素,和VBScript中的数组类似
范例:Dim 数组变量 = [值1, 值2, 值3, 值4,]
其中值可以是任意类型,同一个数组中的不同值也可以是不同类型,值甚至可以是另外一个数组,这样就构成了一般意义上的多维数组
范例:Dim 数组变量 = [值1, 值2, [值11, 值22], 值4,]
字典类型的变量这样表示:
使用大括号来包围起来,名字和其对应的值为一对,用逗号分隔,和Lua中的Table数据类型相似
{ 名字1:值1, 名字2:值2, 名字3:值3 }
其中 名字 只能是字符串,值可以是任意类型的表达式。这种初始化方法和JSON的表示形式一致
复合型变量的使用方式:
无论是数组还是字典,要引用其中的元素,均采用方括号作为索引,如果要引用数组中的数组(即多维数组),或字典中的数组,可以继续在后面写新的方括号
范例:Dim 变量名 = [486, 557, 256]
TracePrint 变量名[1]
变量名 = {“key1”:486, “key2”:557, “key3”:256}
TracePrint 变量名[“key1”]
变量名 = {“key1”:486, “key2”: [235, 668], “key3”:256}
TracePrint 变量名“key2”
在引用数组或字典中的元素时,数组的索引只能是整数类型,用0作为起始索引;字典的索引只能是字符串类型。如果未能正确的使用,会在运行时报错并触发异常