Spec-Zone.ru › Elisp

Списки свойств вне символов

Следующие функции могут использоваться для обработки списков свойств. Все они сравнивают имена свойств с использованием 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API