Доступ к хеш-таблице
В этом разделе описаны функции для доступа к ассоциациям в хеш-таблице и их сохранения. В общем случае в качестве ключа хеша можно использовать любой объект 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 Lispremhashвсегда возвращает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