Previous: Plists and Alists, Up: Property Lists [Contents][Index]
以下の関数はプロパティーリストを操作するために使用されます。これらの関数はすべて、プロパティー名の比較にeqを使用します。
この関数は、プロパティーリストplistに保管された、プロパティーpropertyの値をreturnします。この関数には、変形された(malformed)plist引数を指定できます。plistでpropertyが見つからなかった場合、この関数はnilをreturnします。たとえば、
(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を破壊的に変更するかもしれず、元のリスト構造を変更せずに新しいリストを構築することもあります。この関数は変更されたプロパティーリストをreturnするので、plistを取得した場所に書き戻すことができます。たとえば、
(setq my-plist '(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をreturnします。plist-getとは異なり、この関数は存在しないプロパティーと、値がnilのプロパティーを区別できます。実際にreturnされる値は、carがpropertyで始まる、plistの後尾部分です。