在Emacs Lisp中,如何检查是否定义了变量?
发布于 2009-04-16 19:06:05
如果变量(符号)不是void,则返回t;更准确地说,如果它的当前绑定不是void,则返回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
发布于 2009-04-17 15:43:11
除了dfa's answer之外,您可能还希望查看是否使用fboundp将其绑定为函数
(defun baz ()
)
=> baz
(boundp 'baz)
=> nil
(fboundp 'baz)
=> t
发布于 2010-06-29 20:01:09
如果你想检查emacs中的变量值(我不知道这是否适用,因为你写了"in Emacs Lisp"?):
M-:
在迷你缓冲区中启动Eval
。写入变量的名称,然后按return。迷你缓冲区显示变量的值。
如果未定义该变量,则会出现调试器错误。
https://stackoverflow.com/questions/757564
复制相似问题