emacs - 在 Emacs Lisp 中,如何检查变量是否已定义?

标签 emacs lisp elisp

在 Emacs Lisp 中,如何检查变量是否已定义?

最佳答案

您可能需要 boundp:如果变量(符号)不为空则返回 t;更准确地说,如果其当前绑定(bind)不是无效的。否则返回 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 - 在 Emacs Lisp 中,如何检查变量是否已定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/757564/

相关文章:

html - 在 emacs HTML 模式下禁用自动回车

http - Emacs Lisp - 如何通过 HTTP 传输二进制文件?

emacs - 在 dired 中无需正则表达式即可查找和替换

emacs - 在 emacs lisp 中启动进程,该进程在 lisp 程序结束后继续

python - 动态语言中的类型类

c - Lisp s-表达式的平面评估

Emacs 键绑定(bind)在自定义主模式下不起作用

emacs minor mode 临时修改默认面

emacs - 删除窗口的更智能替代方案?

lisp - 普通口齿不清 : How to quote parenthese in SBCL