Previous: プロパティリストと連想リスト, Up: プロパティリスト [Contents][Index]
以下の関数はプロパティーリストを操作するために使用されます。これらの関数はすべて、プロパティー名の比較にeq
を使用します。
この関数はプロパティーリストplistに保管された、プロパティーpropertyの値をリターンする。この関数には不正な形式(malformed)のplist引数を指定できる。plistでpropertyが見つからないと、この関数はnil
をリターンする。たとえば、
(plist-get '(foo 4) 'foo) ⇒ 4 (plist-get '(foo 4 bad) 'foo) ⇒ 4 (plist-get '(foo 4 bad) 'bad) ⇒ nil (plist-get '(foo 4 bad) 'bar) ⇒ nil
この関数はプロパティーリストplistに、プロパティーpropertyの値としてvalueを保管する。この関数はplistを破壊的に変更するかもしれず、元のリスト構造を変更せずに新しいリストを構築することもある。この関数は変更されたプロパティーリストをリターンするので、plistを取得した場所に書き戻すことができる。たとえば、
(setq my-plist (list 'bar t 'foo 4)) ⇒ (bar t foo 4) (setq my-plist (plist-put my-plist 'foo 69)) ⇒ (bar t foo 69) (setq my-plist (plist-put my-plist 'quux '(a))) ⇒ (bar t foo 69 quux (a))
plist-get
と同様だが、プロパティーの比較にeq
ではなくequal
を使用する。
plist-put
と同様だが、プロパティーの比較にeq
ではなくequal
を使用する。
この関数は与えられたpropertyがplistに含まれるなら非nil
をリターンする。plist-get
とは異なりこの関数は存在しないプロパティーと、値がnil
のプロパティーを区別できる。実際にリターンされる値は、car
がpropertyで始まるplistの末尾部分である。