如何确定数组维度的计数?
如果您不知道它是否存在,则不能循环任何维度(没有错误)。
从帮助文件:
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
是的,我知道,当您必须处理复杂的数据或带有模块的大型程序时,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
“……确定维度的数量。 ”
#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)