このセクションではハッシュテーブルにアクセスしたり、連想を保管する関数を説明します。比較方法による制限がない限り、一般的には任意のLispオブジェクトをハッシュキーとして使用できます。
この関数はtableのkeyを照合してそれに関連づけられたvalue、table内にkeyをもつ連想が存在しなければdefaultをリターンする。
この関数はtable内に値valueをもつkeyの連想を挿入します。tableがすでにkeyの連想をもつなら、valueで古い連想値を置き換える。この関数は常にvalueをリターンする。
この関数はtableにkeyの連想があればそれを削除する。keyが連想をもたなければremhash
は何も行なわない。
Common Lispに関する注意: Common
Lispではremhash
が実際に連想を削除したときは非nil
、それ以外はnil
をリターンする。Emacs
Lispではremhash
は常にnil
をリターンする。
この関数はハッシュテーブルtableからすべての連想を削除するので、そのハッシュテーブルは空になる。これはハッシュテーブルのクリーニング(clearing)とも呼ばれる。clrhash
は空のtableをリターンする。
この関数はtable内の各連想にたいして一度ずつfunctionを呼び出す。関数functionは2つの引数 —
tableにリストされたkeyと、それに関連づけられたvalue —
を受け取ること。maphash
はnil
をリターンする。
functionはkeyに新たな値をセットするためにremhash
、keyを削除するためにremhash
の呼び出しが許されているが、table内の他の連想の追加、削除、変更はするべきではない。