-2

如何确定数组维度的计数?

如果您不知道它是否存在,则不能循环任何维度(没有错误)。

4

3 回答 3

2

从帮助文件:

UBound ( Array [, Dimension] )
Array The array variable which is being queried. 
Dimension [optional] Which dimension of a multi-dimensioned array to report the size of. Default is 1, which is the first dimension. If this parameter is 0, the number of subscripts in the array is returned. 

考虑到上述情况:

Local $myArray[10][20] ;element 0,0 to 9,19

For $i = 1 To UBound($myArray, 0)
    ConsoleWrite("Dimension: " & $i & " :" & UBound($myArray, $i) & @LF)
Next
于 2013-10-31T01:23:02.940 回答
0

是的,我知道,当您必须处理复杂的数据或带有模块的大型程序时,AutoIt 并不是最好的

错了,但让我们留在话题上;)

让我们以二维数组为例。

要获取行数,请使用

$iRowCount = UBOUND($array)

要获取列数,请使用

$iColCount = UBOUND($array, 2)

需要总尺寸吗?

$iTotal = UBOUND($array) * UBOUND($array, 2)

编辑:还有更大的吗?Loopit

Local $iTotal = 1
For $i = 1 To UBOUND($array, 0)
    $iTotal*= UBOUND($array, $i)
Next
于 2013-11-07T18:42:27.503 回答
0

“……确定维度的数量。

根据文档的示例 - 语言参考 -UBound()

#include <AutoItConstants.au3>; $UBOUND_DIMENSIONS

Global $g_aArray[1]
ReDim $g_aArray[3][6][9]

ConsoleWrite('Array comprises ' & UBound($g_aArray, $UBOUND_DIMENSIONS) & ' dimensions.' & @CRLF)
于 2018-09-17T11:16:18.200 回答