Spec-Zone.ru › Elisp

nil и t

В Emacs Lisp, символ nil имеет три отдельных значения: это символ с именем ‘nil’; это логическое значение истинности false; и это пустой список — список из нуля элементов. При использовании в качестве переменной, nil всегда имеет значение nil.

Что касается читателя Lisp, то ‘()’ и ‘nil’ идентичны: они обозначают один и тот же объект, символ nil. Разные способы записи символа предназначены исключительно для читателей-людей. После того, как читатель Lisp прочитал ‘()’ или ‘nil’, нет возможности определить, какой способ записи фактически использовал программист.

В этом руководстве мы пишем (), когда хотим подчеркнуть, что это означает пустой список, и пишем nil, когда хотим подчеркнуть, что это означает значение истинности false. Это хорошая соглашение для использования и в программах Lisp.

(cons 'foo ())                ; Emphasize the empty list
(setq foo-flag nil)           ; Emphasize the truth value false

В контекстах, где ожидается значение истинности, любое значение, отличное от nil, считается true. Однако, t является предпочтительным способом представления значения истинности true. Когда вам нужно выбрать значение, представляющее true, и нет других оснований для выбора, используйте t. Символ t всегда имеет значение t.

В Emacs Lisp, nil и t являются специальными символами, которые всегда вычисляются сами по себе. Это делается для того, чтобы вам не нужно было их цитировать, чтобы использовать их как константы в программе. Попытка изменить их значения приводит к ошибке setting-constant. См. Постоянные переменные.

Функция: booleanp объект

Возвращает не-nil, если объект является одним из двух канонических значений булевой переменной: t или nil.

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/nil-and-t.html

Spec-Zone.ru

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