Function Reference


UBound

Returns the size of array dimensions or the number of keys in a map.

UBound ( Variable [, Dimension = 1] )

Parameters

Variable An array or map variable
Dimension [optional] For an array - Which dimension size to return:
$UBOUND_DIMENSIONS (0) = Number of subscripts in the array
$UBOUND_ROWS (1) = Number of rows in the array (default)
$UBOUND_COLUMNS (2) = Number of columns in the array
For arrays with more than 2 dimensions, just use the corresponding integer
For a map - this parameter is ignored and the number of keys is returned

Constants are defined in AutoItConstants.au3.

Return Value

Success: the size of the array dimension or the number of keys within a map.
Failure: 0 and sets the @error flag to non-zero.
@error: 1 = Array: Variable is not an array or map
2 = Dimension is invalid

Remarks

Remember that for arrays the value returned is one greater than the index of the last element in the dimension as the count starts at [0].

Related

Global/Local, ReDim, IsArray, IsMap

Example

Example 1

#include <Array.au3>; Required for _ArrayDisplay.
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
Example()
Func  Example()
Local $aArray[10][20]
Local $iRows= UBound ($aArray,$UBOUND_ROWS); Total number of rows. In this example it will be 10.
Local $iCols= UBound ($aArray,$UBOUND_COLUMNS); Total number of columns. In this example it will be 20.
Local $iDimension= UBound ($aArray,$UBOUND_DIMENSIONS); The dimension of the array e.g. 1/2/3 dimensional.
MsgBox ($MB_SYSTEMMODAL,"","The array is a "&$iDimension&" dimensional array with "&_
$iRows&" row(s) & "&$iCols&" column(s).")
; Fill the array with data.
For $i= 0To $iRows- 1
For $j= 0To $iCols- 1
$aArray[$i][$j]= "Row: "&$i&" - Col: "&$j
Next
Next
_ArrayDisplay ($aArray)
EndFunc ;==>Example

Example 2

#include <AutoItConstants.au3>
_Example()
Func  _Example()
ConsoleWrite ("> $aTest_1_Empty_Array"&@CRLF )
Local $aTest_1_Empty_Array[]
ConsoleWrite (UBound ($aTest_1_Empty_Array,$UBOUND_DIMENSIONS)&@CRLF )
ConsoleWrite (UBound ($aTest_1_Empty_Array,$UBOUND_ROWS)&@CRLF )
ConsoleWrite (UBound ($aTest_1_Empty_Array,$UBOUND_COLUMNS)&@CRLF )
ConsoleWrite ("> $aTest_2_Empty_1D"&@CRLF )
Local $aTest_2_Empty_1D[0]
ConsoleWrite (UBound ($aTest_2_Empty_1D,$UBOUND_DIMENSIONS)&@CRLF )
ConsoleWrite (UBound ($aTest_2_Empty_1D,$UBOUND_ROWS)&@CRLF )
ConsoleWrite (UBound ($aTest_2_Empty_1D,$UBOUND_COLUMNS)&@CRLF )
ConsoleWrite ("> $aTest_3_Empty_2D"&@CRLF )
Local $aTest_3_Empty_2D[0][5]
ConsoleWrite (UBound ($aTest_3_Empty_2D,$UBOUND_DIMENSIONS)&@CRLF )
ConsoleWrite (UBound ($aTest_3_Empty_2D,$UBOUND_ROWS)&@CRLF )
ConsoleWrite (UBound ($aTest_3_Empty_2D,$UBOUND_COLUMNS)&@CRLF )
ConsoleWrite ("> $aTest_4_1D"&@CRLF )
Local $aTest_4_1D[]= [0,1,2]
ConsoleWrite (UBound ($aTest_4_1D,$UBOUND_DIMENSIONS)&@CRLF )
ConsoleWrite (UBound ($aTest_4_1D,$UBOUND_ROWS)&@CRLF )
ConsoleWrite (UBound ($aTest_4_1D,$UBOUND_COLUMNS)&@CRLF )
ConsoleWrite ("> $aTest_5_2D"&@CRLF )
Local $aTest_5_2D[][]= _; [[0, 1, 2], [3, 4, 5]]
[_
[0,1,2],_
[3,4,5]_
]
ConsoleWrite (UBound ($aTest_5_2D,$UBOUND_DIMENSIONS)&@CRLF )
ConsoleWrite (UBound ($aTest_5_2D,$UBOUND_ROWS)&@CRLF )
ConsoleWrite (UBound ($aTest_5_2D,$UBOUND_COLUMNS)&@CRLF )
ConsoleWrite ("> $aTest_6_2D"&@CRLF )
Local $aTest_6_2D[][]= _; [[0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 1, 2]]
[_
[0,1,2],_
[3,4,5],_
[6,7,8],_
[0,1,2]_
]
ConsoleWrite (UBound ($aTest_6_2D,$UBOUND_DIMENSIONS)&@CRLF )
ConsoleWrite (UBound ($aTest_6_2D,$UBOUND_ROWS)&@CRLF )
ConsoleWrite (UBound ($aTest_6_2D,$UBOUND_COLUMNS)&@CRLF )
EndFunc ;==>_Example

AltStyle によって変換されたページ (->オリジナル) /