Spec-Zone.ru › Elisp

Предикаты для списков

Следующие предикаты проверяют, является ли объект Lisp атомом, является ли он конс-ячейкой или списком, либо является ли он специальным объектом nil. (Многие из этих предикатов можно определить через другие, но они используются настолько часто, что их стоит иметь.)

Функция: consp object

Эта функция возвращает t, если object является конс-ячейкой, и nil в противном случае. nil не является конс-ячейкой, хотя является списком.

Функция: atom object

Эта функция возвращает t, если object является атомом, и nil в противном случае. Все объекты, кроме конс-ячеек, являются атомами. Символ nil является атомом и также является списком; это единственный объект Lisp, обладающий обоими свойствами.

(atom object) ≡ (not (consp object))
Функция: listp object

Эта функция возвращает t, если object является конс-ячейкой или nil. В противном случае она возвращает nil.

(listp '(1))
     ⇒ t
(listp '())
     ⇒ t
Функция: nlistp object

Эта функция противоположна listp: она возвращает t, если object не является списком. В противном случае она возвращает nil.

(listp object) ≡ (not (nlistp object))
Функция: null object

Эта функция возвращает t, если object равен nil, и возвращает nil в противном случае. Эта функция идентична not, но для ясности мы используем not, когда object рассматривается как логическое значение (см. not в разделе Конструкции для объединения условий), и null в противном случае.

(null '(1))
     ⇒ nil
(null '())
     ⇒ t
Функция: proper-list-p object

Эта функция возвращает длину object, если он является правильным списком, и nil в противном случае (см. Списки и конс-ячейки). Помимо соответствия listp, правильный список не является ни циклическим, ни точечным.

(proper-list-p '(a b c))
    ⇒ 3
(proper-list-p '(a b . c))
    ⇒ nil

Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/List_002drelated-Predicates.html

Spec-Zone.ru

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