当前位置:  开发笔记 > 开发工具 > 正文

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

如何解决《在EmacsLisp中,如何检查是否定义了变量?》经验,为你挑选了2个好方法。

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



1> dfa..:

你可能想要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


有时使用INTERN-SOFT来检查符号是否存在也是有用的.

2> Jacob Gabrie..:

除了dfa的答案,你可能还想看看它是否被绑定为使用fboundp的函数:

(defun baz ()
  )
=> baz
(boundp 'baz)
=> nil
(fboundp 'baz)
=> t

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有