Как получить количество элементов в массиве AutoIt?

Я определил массив, который может содержать 10 элементов. Я добавил в него 3 элемента. Как получить текущее количество элементов массива (в нашем случае 3)?

Спасибо


person Just a learner    schedule 16.07.2011    source источник


Ответы (2)


вы можете использовать функции UBound() и LBound() для определения размера массива.

person Rob Ganly    schedule 16.07.2011
comment
можете ли вы привести пример, пожалуйста? я не могу найти функцию lbound в документации. - person Just a learner; 16.07.2011
comment
AutoIt не имеет LBound, так как массивы всегда начинаются с 0. UBound даст вам размер. Иногда UBound()-1. - person Jos van Egmond; 17.07.2011

UBound дает вам РАЗМЕР массива, а не текущее количество элементов массива!

Мое решение хорошо работает со строковыми и числовыми массивами.

Func _UBound($a)

   local $i

   For $i=UBound($a) - 1 to 0 Step -1
      If StringLen($a[$i])>  0 Then ExitLoop
   Next
    Return $i

EndFunc   

можешь попробовать. _Ubound($array) дает индекс последнего элемента в массиве

 Global $array[10]
 $array[0] = "434"
 $array[1] = "value2"
 $array[2] = 0
 $array[3] = "hjhhhkhk"
 $array[4] = 0x0000
 $array[5] = ""
 $array[6] = 01010101

MsgBox(0,Default,"Finally it is: " & _UBound($array))
person Chris    schedule 09.12.2013