PushMapPosition()
Синтаксис
PushMapPosition(Map())
Описание
Запоминает текущий элемент (если он есть) Хеш-карты Map(), чтобы впоследствии к нему можно было вернуться с помощью функции PopMapPosition(). Позиция запоминается в структуре стека, поэтому возможны многочисленные вызовы этой функции.
Параметры
Map() Имя используемой Хеш-карты, созданной с помощью функции NewMap. Вы должны указать скобки после имени Хеш-карты.
Возвращаемое значение
Ничего.
Комментарии
Эта функция позволяет запоминать текущий элемент, что даёт возможность выполнить итерацию над Хеш-картой с помощью команд NextMapElement() или ForEach, а после итерации вернуться к запомненному текущему элементу с помощью команды PopMapPosition(). Для этой функции можно выполнить несколько вызовов, если каждый из них позже будет уравновешен соответствующим вызовом PopMapPosition().
Примечание. Нельзя удалять элемент используя команды DeleteMapElement() или ClearMap(), если он был запомнен как 'текущий' с помощью PushMapPosition() . Это может привести к сбою при вызове PopMapPosition(), поскольку память выделенная для элементов больше недействительна.
Пример
NewMap Numbers() Numbers("A") = 1 Numbers("B") = 2 Numbers("C") = 5 Numbers("D") = 3 Numbers("E") = 2 Numbers("F") = 5 ; Удаление дублирующих значений с использованием вложенной итерации ; ForEach Numbers() Value = Numbers() PushMapPosition(Numbers()) While NextMapElement(Numbers()) If Numbers() = Value DeleteMapElement(Numbers()) ; Удаляются только элементы, которые не могли быть запомненными в PushMapPosition() EndIf Wend PopMapPosition(Numbers()) Next ForEach Numbers() Debug Numbers() Next
См. также
PopMapPosition(), FindMapElement(), NextMapElement(), ResetMap(), ForEach
Поддерживаемые OS
Все