在Emacs Lisp中,如何检查是否定义了变量?
Answers:
您可能需要boundp:如果变量(符号)不为空,则返回t;否则为false。更准确地说,如果其当前绑定不无效。否则返回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
如果要从emacs中检查变量值(我不知道这是否适用,因为您写的是“ in Emacs Lisp”?):
M-:
从Eval
迷你缓冲区开始。输入变量名称,然后按回车键。迷你缓冲区显示变量的值。
如果未定义变量,则会收到调试器错误。
M-: (boundp 'the-variable-name) RET
将检查而不需要触发错误。