Что нового

Как определить количесво столбцов в массиве?

vovsla

Осваивающий
Сообщения
607
Репутация
36
При обращении к одномерному массиву как к многомерному скрипт вылетает с ошибкой.
Хотел попытаться определить количество столбцов в массиве с помощью _ArrayToString, но
по каким-то причинам не работает _ArrayToString - возвращает пустую строку, в то время как
_ArrayDisplay возвращает массив. В том же скрипте с другими массивами _ArrayToString работает корректно
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Это?

Код:
Dim $Array[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
MsgBox(0, '', UBound($Array) -1)

For $i = 0 To UBound($Array) -1
	ConsoleWrite($Array[$i] & @CRLF)
Next
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Как определить количесво столбцов в массиве?
Код:
Dim $Array[10][2]
MsgBox(0, '', UBound($Array, 0))
ReDim $Array[10]
MsgBox(0, '', UBound($Array, 0))

Это называется размерностью массива.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Vovsla,
Еще так можно.
Код:
$iRandX = Random(10, 100, 1)
$iRandY = Random(10, 100, 1)
$iRandZ = Random(10, 100, 1)
Dim $aRand[$iRandX][$iRandY][$iRandZ]

$iUb = UBound($aRand, 0)
For $i = 1 To $iUb
	ConsoleWrite($i & @TAB & UBound($aRand, $i) & @LF)
Next
 
Автор
V

vovsla

Осваивающий
Сообщения
607
Репутация
36
Написал "количество столбцов" вместо размерности т.к. хотел конкретизировать, ведь размерностью можно назвать и кол-во строк.

Опять поторопился не дочитал манул, про UBound знал давно, но думал что он возвращает только кол-во строк.
Все решается UBound($myArray, 2)
Всем спасибо.
 
Верх