В Emacs Lisp, как я могу проверить, если переменная определена?
в Emacs Lisp, как я могу проверить, если переменная определена?
4 ответа:
вы можете захотеть boundp: возвращает t, если переменная (символ) не пуста; точнее, если ее текущая привязка не пуста. В противном случае он возвращает nil.
(boundp 'abracadabra) ; Starts out void. => nil (let ((abracadabra 5)) ; Locally bind it. (boundp 'abracadabra)) => t (boundp 'abracadabra) ; Still globally void. => nil (setq abracadabra 5) ; Make it globally nonvoid. => 5 (boundp 'abracadabra) => t
кроме ответ dfa возможно, вы также хотите, чтобы увидеть, если он привязан в качестве функции, используя fboundp:
(defun baz () ) => baz (boundp 'baz) => nil (fboundp 'baz) => t
Если вы хотите проверить значение переменной из emacs (я не знаю, если это применимо, так как вы написали "в Emacs Lisp"?):
M-:
начинаетсяEval
в мини-буфере. Введите имя переменной и нажмите клавишу return. Мини-буфер показывает значение переменной.если переменная не определена, вы получаете ошибку отладчика.