Spec-Zone.ru › Elisp

Доступ к хеш-таблице

В этом разделе описаны функции для доступа к ассоциациям в хеш-таблице и их сохранения. В общем случае в качестве ключа хеша можно использовать любой объект Lisp, если только метод сравнения не накладывает ограничений. В качестве значения также можно использовать любой объект Lisp.

Функция: gethash key table &optional default

Эта функция ищет key в table и возвращает связанное с ним value — или default, если с key в table не связана никакая ассоциация.

Функция: puthash key value table

Эта функция добавляет в table ассоциацию для key со значением value. Если с key уже связана ассоциация в table, value заменяет прежнее связанное значение. Эта функция всегда возвращает value.

Функция: remhash key table

Эта функция удаляет из table ассоциацию для key, если она есть. Если с key не связано ни одной ассоциации, remhash ничего не делает.

Примечание о Common Lisp: В Common Lisp remhash возвращает значение, отличное от nil, если ассоциация действительно была удалена, и nil в противном случае. В Emacs Lisp remhash всегда возвращает nil.

Функция: clrhash table

Эта функция удаляет все ассоциации из хеш-таблицы table, делая её пустой. Это также называется очисткой хеш-таблицы. clrhash возвращает пустую table.

Функция: maphash function table

Эта функция вызывает function один раз для каждой ассоциации в table. Функция function должна принимать два аргумента — key, указанный в table, и связанное с ним value. maphash возвращает nil.

function может вызывать puthash, чтобы задать новое значение для key, и remhash, чтобы удалить key, но не должна добавлять, удалять или изменять другие ассоциации в table.

Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Hash-Access.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API