找回密码
 加入
搜索
查看: 1972|回复: 4

请问一个关于数组的问题

[复制链接]
发表于 2009-7-10 15:22:00 | 显示全部楼层 |阅读模式
以前从没用过数组,所以就不太会用数组.
1,怎么声明一个数组?
2能不能声明一个数组(里面的元数个数无限的)?

程序运行产生的临时数 能不能放到回到事先声明的数组里?
比如:
For $i= 1 to 10
    $Num = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", $i)
    If @error <> 0 then ExitLoop
Next
我该怎么把循环所得$Num放到一个数组里?
 楼主| 发表于 2009-7-10 16:06:11 | 显示全部楼层
会数组的速度来帮忙哇.
发现数组用的人不太多哩
发表于 2009-7-10 16:22:33 | 显示全部楼层
我一般这么写 自己的方法 不知道有更好的没
[au3]#include <array.au3>
dim $num[1]
for $i=1 to Random(10,50)
        ReDim $num[$i+1]
        $num[0]=$i
        $num[$i]=int(random(1000,10000))
Next
_ArrayDisplay($num)[/au3]
发表于 2009-7-10 16:23:03 | 显示全部楼层
本帖最后由 lynfr8 于 2009-7-10 16:24 编辑

数组的建立有几种方法:
1.Dim 声明再赋值
例子:
Dim$Array1[12]=[3, 7.5, "string"], $array[5] = [8, 4, 5, 9, 1]
Dim $Grid[2][4]=[["Paul", "Jim", "Richard", "Louis"], [485.44, 160.68, 275.16, 320.00]]
Dim $Test[5] = [3, 1, StringSplit("Abe|Jack|Bobby|Marty", "|"), Cos(0)]
或者:
Dim $avArray[4]
$avArray[0] = "刘德华"
$avArray[1] = "张学友"
$avArray[2] = "黎明"
$avArray[3] = "郭富城"
2._ArrayCreate也挺方便的 【创建数组UDF函数】
#include <Array.au3>
Dim $avArray
$avArray = _ArrayCreate("JPM", "Holger", "Jon", "Larry", "Jeremy", "Valik", "Cyberslug", "Nutster", "Tylo", "JdeB")
_ArrayDisplay( $avArray, "建立数组的udf" )
Exit
数组的数量不是无限的,而是有限制的: 最大64维 和/或 共1600万个元素

至于数组的修改,给个例子借鉴下:
#include <Array.au3>
Dim $avArray[4]
$avArray[0] = "刘德华"
$avArray[1] = "张学友"
$avArray[2] = "黎明"
$avArray[3] = "郭富城"
_ArrayDisplay( $avArray, "原来的数组" )
_ArrayDelete( $avArray,1)
_ArrayInsert( $avArray,1,"歌神")
_ArrayDisplay( $avArray, "更新后的数组" )
Exit
把_ArrayDelete、_ArrayInsert
放在循环里面就行了
自己动手研究下,实践过消化掉了才是真正属于自己学到的.
发表于 2009-7-10 16:25:23 | 显示全部楼层
本帖最后由 lynfr8 于 2009-7-10 16:26 编辑
用户定义函数 说明 
_ArrayAdd 添加指定的值到数组后面,返回调整后的数组。

_ArrayBinarySearch 使用二进制搜索算法来搜索一个1维数组。

_ArrayCreate 创建一个小型数组并立即赋值。

_ArrayDelete 删除给定数组的指定元素并返回调整后的数组。

_ArrayDisplay 在消息框中显示某个1维数组的所有元素。

_ArrayInsert 插入一个新字符串到某个数组的指定元素中,并返回调整后的数组。 

_ArrayMax 返回保存在数组中的最大值。

_ArrayMaxIndex 返回保存在数组中的最大值的下标(索引)。

_ArrayMin 返回保存在数组中的最小值。

_ArrayMinIndex 返回保存在数组中的最小值的下标(索引)。

_ArrayPop 返回某个数组的最后一个元素,同时将该元素从数组中删除。

_ArrayReverse 给定一个数组并把该数组的元素顺序颠倒。

_ArraySort 对一个含有多个元素的数组进行排序。

_ArraySwap 使数组的两个元素交换位置。

_ArrayToClip 把数组内容发送到剪贴板。

_ArrayToString 把数组的所有元素替换成字符串,以指定分隔符分开。

_ArrayTrim 去掉数组中的所有元素指定数量的字符。 
翻翻帮助文件,里面例子很详细了
学习下这个UDF操作对数组的了解就差不多了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 15:45 , Processed in 0.077559 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表