数字基本概念
数组,array,为处理方便,在脚本编写中,把具有相同类型的若干个变量按照有序的形式组织起来。
数组的定义
Dim a(n)
a是数组名,这个数组一共有n+1个元素。
数组下标从0开始,最大下标为n,注意这里的n只能是数值常量,不能是变量。
数组的赋值
Dim 道具栏(5)
“道具栏(5)”这个数组共有6个元素,当脚本执行到这句话时,按键精灵就会给它分配6个空间,其索引号从0到5
例如:
Dim 道具栏(5)
道具栏(0)=“小红药”
道具栏(1)=“大红药”
道具栏(2)=“小蓝药”
道具栏(3)=“大红药”
道具栏(4)=“屠龙刀”
道具栏(5)=“倚天剑”
动态数组
数组分为静态数组和动态数组
动态数组在声明时没有确定数组大小
redim语句可以重新分配数组大小
**Dim 道具栏()**定义一个动态数组
**ReDim 道具栏(5+1)**给数组变量重新分配空间,现在共有7个元素
数组的上限和下限
用UBound可以获取数组的上限,既最大下标
用LBound可以获取数组的下限,既最小下标
Dim 道具栏(5)
TrancePrint “数组上限” & UBound(道具栏)//输出上限为5
TrancePrint"数组下限" & LBound(道具栏)//输出下限为0
数组的遍历
将整个数组所有元素从头到尾“数”一遍,使用for语句。
例如:
Dim 道具栏(5)
道具栏(0)=“小红药”
道具栏(1)=“大红药”
道具栏(2)=“小蓝药”
道具栏(3)=“大红药”
道具栏(4)=“屠龙刀”
道具栏(5)=“倚天剑”
for i=0 to Ubound(道具栏)
tranceprint"道具栏(" & i & “)=” & 道具栏(i)
next
数组的复制
定义一个变量,直接把数组复制给它
例如:
//定义一个数组a
Dim a(2)
//给a赋值
a(0)=21
a(1)=42
a(2)=100
//定义一个变量b
Dim b
//让b等于a
b=a
//输出b
TrancePrint b(0)
TrancePrint b(1)
TrancePrint b(2)
多维数组
前面的数组都只有1个下标,成为一维数组。二维数组和多维数组,每个元素受两个或多个下标控制。
**Dim 道具栏(5,2)**6行3列,横的方向是0,1,2;竖的方向是0,1,2,3,4,5
传递数组参数
sub子程序或function函数也支持数组作为一个参数传递
例如:
dim a(2)
a(0)=1
a(1)=100
a(2)=51
call 子程序(a)
sub 子程序(b)
tranceprint “a(0)=” & b(0)
tranceprint “a(1)=” & b(1)
tranceprint “a(2)=” & b(2)
end sub