Что нового

убрать значение из массива или аналог функции _ArrayPop()

running-frag

why me?
Сообщения
441
Репутация
60
Задача стоит следующая, есть код...
Код:
Dim $_array[4]

$_array[0] = 3 ; Int
$_array[1] = ""
$_array[2] = ""
$_array[3] = ""

If $_array[0] Then
	$_value = _ArrayPop ($_array)
	$_array[0] -= 1
EndIf

Данный код "возвращает значение снизу массива (последнее значение) и после удаляет его", так же мы вручную уменьшаем счётчик массива (счётчик его количества элементов записанных в $_array[0])

Теперь вопрос. Как реализовать аналогичную схему только что бы значения брались не с конца а с "начала", имеется ввиду что первое значение будет $_array[1]. При том что "удаление" с массива, возвращаемых значений, сохранится.

PS: Короче нужна аналоговая функция _ArrayPop() только с другого конца.
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
running-frag
Подойдет такой вариант?
Код:
#include <array.au3>

 Dim $A[10]=['1','2','3','4','5','6','7','8','9','0']
 _ArrayDisplay($A)

 _ArrayPush($A,'0',0)
 ReDim $A[UBound($A)-1]
 _ArrayDisplay($A)
 
Автор
R

running-frag

why me?
Сообщения
441
Репутация
60
Теоретически да, практически нет. Зачада что бы "удалялся" $_array[1] а не $_array[0].
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
http://autoit-script.ru/autoit3_docs/libfunctions/_arraydelete.htm
Возьми пример и вместо 8 поставь 1
Код:
_ArrayDelete($avArray, 1)
 
Верх