Next: Standard Properties, Up: Symbol Properties [Contents][Index]
以下の関数は、シンボルプロパティーへのアクセスに使用できます。
この関数は、symbolのプロパティーリスト内の、propertyという名前のプロパティーの値をreturnします。そのようなプロパティーが存在しない場合は、nil
をreturnします。したがって、値がnil
のときと、プロパティーが存在しない場合の違いはありません。
名前propertyは、eq
を使用して既存のプロパティーと比較されるので、任意のオブジェクトはプロパティーとして適正です。
例はput
を参照してください。
この関数は、symbolのプロパティーリストの、プロパティー名propertyにvalueを配して、以前のプロパティー値を置き換えます。put
関数は、valueをreturnします。
(put 'fly 'verb 'transitive) ⇒'transitive (put 'fly 'noun '(a buzzing little bug)) ⇒ (a buzzing little bug) (get 'fly 'verb) ⇒ transitive (symbol-plist 'fly) ⇒ (verb transitive noun (a buzzing little bug))
この関数は、symbolののののプロパティーリストをreturnします。
この関数は、symbolのプロパティーリストを、plistにセットします。plistは通常、適正なプロパティーリストであるべきですが、これは強制ではありません。return値はplistです。
(setplist 'foo '(a 1 b (2 3) c nil)) ⇒ (a 1 b (2 3) c nil) (symbol-plist 'foo) ⇒ (a 1 b (2 3) c nil)
通常の用途には使用されない、特別なobarray内のシンボルでは、非標準的で方法でプロパティーリストセルを使用することに意味があるかもしれません。実際に、abbrev(Abbrevsを参照してください)のメカニズムは、これを行なっています。
以下のように、setplist
とplist-put
により、put
を定義できます:
(defun put (symbol prop value) (setplist symbol (plist-put (symbol-plist symbol) prop value)))
この関数は、get
と同じですが、symbolが関数エイリアス(function
alias)の場合は、実際の関数の名づけるシンボルのプロパティーリストを参照します。Defining Functionsを参照してください。