GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Hash-Access.html ・ emacs-doc.conao3.com

8.2 ハッシュテーブルへのアクセス

本節では、ハッシュテーブルにおける関連へのアクセスおよび格納を行う関数について説明します。一般に、比較方法によって制限が設けられていない限り、任意のLispオブジェクトをハッシュキーとして使用できます。また、任意のLispオブジェクトを値として使用することも可能です。

関数: gethash key table &optional default

この関数は table 内で key を検索し、それに関連付けられた value を返します。ただし、table 内に key の関連付けがない場合は default を返します。

関数: puthash key value table

この関数は、table の key に対して、値 value の関連付けを行います。key がすでに table に関連付けを持っている場合、value が元の関連付け値を置き換えます。この関数は常に value を返します。

関数: remhash key table

この関数は、table に key の関連付けがある場合、それを削除します。key に関連付けがない場合、remhash は何も行いません。

Common Lispに関する注記: Common Lispでは、remhashは実際に関連付けが削除された場合はnon-nilを、そうでない場合はnilを返します。Emacs Lispでは、remhashは常にnilを返します。

関数: clrhash table

この関数は、ハッシュテーブル table からすべての関連付けを削除し、空にします。これはハッシュテーブルをクリアするとも呼ばれます。clrhash は空の table を返します。

関数: maphash function table

この関数は、table 内の各関連付けに対して function を1回ずつ呼び出します。関数 function は、table に記載された key と、それに対応する value という2つの引数を受け取る必要があります。maphash は nil を返します。

function is allowed to call puthash to set a new value for key and remhash to remove key, but should not add, remove or modify other associations in table.