Что нового

[Ошибки] Ошибка в функции _ArrayDelete

Sergy

Новичок
Сообщения
25
Репутация
1
Наткнулся на косяк при изучении примера из хелпа.
там несколько примеров удаления в одном, для упрощения понимания убираю лишнее и оставляю только удаление по массиву индексов элементов.

Код:
#include <Array.au3>

Local $aArray_Base[25][4]
For $i = 0 To 24
	For $j = 0 To 3
		$aArray_Base[$i][$j] = $i & "-" & $j
	Next
Next

; 1D array
$aArray = $aArray_Base
Local $aDel[4] = [3, 5, 11, 13]
_ArrayDisplay($aArray, "BEFORE deletion")
_ArrayDelete($aArray, $aDel)
_ArrayDisplay($aArray, "RANGE ARRAY deleted")


После удаления видно, что 3 индекс остался не тронутым, а 5, 11 и 13 удалены, как и просили. :(

Autoit 3.3.14.2. Windows 10 Pro rus x64.
P.S. проверил на Win 7 x86 - та же беда.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
В массиве $aDel нулевой элемент - это количество удаляемых элементов , а не значение для удаления. Вот , что пишут в английской справке :
Element(s) to delete - either a single index,a range string or a 1D array with a count in the[0] element (see example for details)
 
Автор
S

Sergy

Новичок
Сообщения
25
Репутация
1
Как оказалось мой английский недостаточно хорош, что бы сходу понять смысл написанного, особенно после бессонной ночи :( При внимательном прочтении всё встало на свои места. Спасибо за сэкономленное время!
 
Верх