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を参照してください。