以下の関数はプロパティリストを操作するために使用されます。これらの関数はすべて、デフォルトではプロパティ名の比較にeq
を使用します。
この関数はプロパティリストplistに保管された、プロパティpropertyの値をリターンする。比較はpredicate
(デフォルトはeq
)で行われる。この関数には不正な形式(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を保管する。比較はpredicate
(デフォルトはeq
)で行われる。この関数は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
をリターンする。比較はpredicate
(デフォルトはeq
)で行われる。plist-get
とは異なりこの関数は存在しないプロパティと、値がnil
のプロパティを区別できる。実際にリターンされる値は、car
がpropertyで始まるplistの末尾部分である。