新手教学丨UiBot的变量与常量、表达式运算符数组
今天咱们来说解下UiBot中的变量与常量,以及表达式运算符。函数
1、定义变量编码
UiBot中的变量是动态类型的,无需再定义的时候声明变量的类型,即变量的值和类型均可以在运行过程当中动态改变。这也符合通常脚本语言如Python、Lua、JavaScript的习惯。spa
定义变量名的方式是:blog
Dim 变量名索引
再定义变量名的同时ip
能够给变量赋值一个初始值:字符串
Dim 变量名 = 值it
想要定义多个变量的话class
能够这样定义:
Dim 变量名=值, 变量名1
Dim 变量名=值, 变量名=值
同理
想要定义一个常量就能够这样定义:
Const 常量名=值, 常量名=值
变量名的定义基础规范:
变量名能够用英文字母、下划线(_)
任意UTF-8编码中包含的
除英语之外其余语言的字符
(固然,也包括汉字)表示
除了第一个字符外
后面还可使用0-9的数字。
变量名不区分大小写。
2、变量类型
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"][1]
在引用数组或字典中的元素时,数组的索引只能是整数类型,用0做为起始索引;字典的索引只能是字符串类型。若是未能正确的使用,会在运行时报错并触发异常
3、表达式运算符
UiBot语言中的运算符及其含义以下:
【 + 】加法
【 - 】减法/求负
【 * 】乘法
【 / 】除法
【 Mod 】取模
【 ^ 】求幂
【 < 】大于
【 > 】小于
【 <= 】大于等于
【 >= 】小于等于
【 <> 】不等于
【 = 】等于
【 And 】逻辑与
【 Or 】逻辑或
【 Not 】逻辑非
【 & 】字符串链接
把变量、常量和值用运算符和圆括号 ( ) 链接到一块儿,称为表达式,这和VBScript中的语法相似,经常使用于逻辑语句中的判断
Dim 变量
If (变量 = 1) or (变量 = 5)
	TracePrint 变量
End If
须要注意的是,和VBScript中的运算符不一样,UiBot中不直接支持位操做运算符,如按位与、按位或,等等。由于这种操做比较少见,若是必定须要,能够用函数库的方式提供。