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
.