PureBasic

DeleteMapElement()

Синтаксис

*Result = DeleteMapElement(Map() [, Key$])

Описание


Удаляет текущий элемент или элемент с заданным ключом 'Key$' из Хеш-карты Map().

Параметры

Map() Имя Хеш-карты, созданной с помощью функции NewMap, элемент которой будет удалён. Вы должны указать скобки после имени Хеш-карты.
Key$ (дополн.) Ключ соответствующий удаляемому элементу. Если параметр не указан, то удаляется текущий элемент Хеш-карты.

Возвращаемое значение

Возвращает адрес в памяти нового текущего элемента Хеш-карты. Если в Хеш-карте после удаления нет текущего элемента, результатом будет 0. Возвращаемое значение является указателем на новый текущий элемент.

Комментарии

После этого вызова внутренний указатель Хеш-карты устанавливается на предыдущий элемент (тот, который был перед удаленным элементом), который по сути является произвольным элементом, поскольку карта не сортируется. Если предыдущий элемент не существует (другими словами, вы удалили единственный элемент Хеш-карты), то текущего элемента не будет, так как внутренний указатель становится на 'перед первым элементом', так же как и после команды ResetMap(). Если в Хеш-карте был только один элемент, после его удаления вы останетесь без текущего элемента!

Если задан дополнительный параметр 'Key$', после этого вызова не будет текущего элемента. Поэтому не используйте этот параметр, если команда используется внутри цикла ForEach : Next.

Пример

NewMap Country.s()

Country("US") = "United States"
Country("FR") = "France"
Country("GE") = "Germany"

; Удаляем Соединённые Штаты! ;)
DeleteMapElement(Country(), "United States")

ForEach Country()
    Debug Country()
Next

См. также

AddMapElement(), ClearMap(), MapSize()

Поддерживаемые OS

Все

<- CopyMap() - Оглавление Map - FindMapElement()->