如何动态创建一个数组
动态创建一个数组,变量限定大小的,比如$Array[$i]急求,高手解答下!tks 我个人理解,这样的情况下得先确定 $i 的值再创建。
当然也可以先创建一个空数组,再向数组中添加元素,不过这样效率不高,不推荐!
还有个办法是利用 Assign 和 Eval 俩函数的配合,替代数组,这样出来的效率是非常高的,推荐!(当然这要看情况而定) 曾经我也为了这个问题非常头痛,好长一段时间无从解决,后来发觉为何不转过来想,为什么要动态数据?无非就是无法确定这个数组到底有多大,既然不知道你多大,管你有多大,每次需要填入数据的时候我再ReDim一次呗,至此,这个问题再也不受困扰了 试验证明,当ReDim一个数组变量时,以前的数组元素还是继续存在的,比方说:
Global $a =
ReDim $a
此时,$a,$a,$a的值分别是1,2,3,而$a是空值。
如果是:
Global $a =
ReDim $a
则
$a,$a的值还是分别为1,2
所以个人认为楼主可以先Global 一个数组,需要改变大小时直接ReDim 還是不太明白,如果我用FileReadLine()讀去某個txt文本的內容,怎麼樣才能把它寫到已數組里去 试验证明,,比方说:
Global $a =
ReDim $a
此时,$a,$a,$a的值分别是1,2,3, ...
foboy 发表于 2010-8-20 00:00 http://www.autoitx.com/images/common/back.gif
但好像 redim了不同维度的数组会丢失 #include <array.au3>
Dim $num
$num=0
For $i=1 To 100
$num+=1
ReDim $num[$num+1]
$num[$num]=Random(1,100)
Next
_ArrayDisplay($num)不同维度是可以转换的,这并不是问题
页:
[1]