Skip to main content

8.2 Hash Table Access

This section describes the functions for accessing and storing associations in a hash table. In general, any Lisp object can be used as a hash key, unless the comparison method imposes limits. Any Lisp object can also be used as the value.

function gethash key table \&optional default​

This function looks up key in table, and returns its associated value—or default, if key has no association in table.

function puthash key value table​

This function enters an association for key in table, with value value. If key already has an association in table, value replaces the old associated value.

function remhash key table​

This function removes the association for key from table, if there is one. If key has no association, remhash does nothing.

Common Lisp note: In Common Lisp, remhash returns non-nil if it actually removed an association and nil otherwise. In Emacs Lisp, remhash always returns nil.

function clrhash table​

This function removes all the associations from hash table table, so that it becomes empty. This is also called clearing the hash table.

Common Lisp note: In Common Lisp, clrhash returns the empty table. In Emacs Lisp, it returns nil.

function maphash function table​

This function calls function once for each of the associations in table. The function function should accept two arguments—a key listed in table, and its associated value. maphash returns nil.