Списки свойств вне символов
Следующие функции могут использоваться для обработки списков свойств. Все они сравнивают имена свойств с использованием eq.
- Функция: plist-get plist свойство
-
Это возвращает значение свойства свойство, хранящегося в списке свойств plist. Она принимает некорректный аргумент plist. Если свойство не найдено в plist, возвращается
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-put plist свойство значение
-
Это сохраняет значение в качестве значения свойства свойство в списке свойств plist. Она может деструктивно изменять 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))
- Функция: lax-plist-get plist свойство
Как
plist-getза исключением того, что она сравнивает свойства с использованиемequalвместоeq.
- Функция: lax-plist-put plist свойство значение
Как
plist-putза исключением того, что она сравнивает свойства с использованиемequalвместоeq.
- Функция: plist-member plist свойство
Это возвращает не-
nil, если plist содержит заданное свойство. В отличие отplist-get, это позволяет отличить отсутствие свойства от свойства со значениемnil. Значение фактически является хвостом plist, чьёcarравно свойство.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Plist-Access.html