在Emacs Lisp中,如何检查变量是否定义?在Emacs Lisp中,如何检查变量是否被定义?
79
A
回答
118
你可能想要boundp:如果变量(一个符号)不是空的返回t;更确切地说,如果它的当前绑定不是无效的。否则返回零。
(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
39
除了dfa's answer你可能也想看看它必将作为一个函数使用fboundp:
(defun baz()
)
=> baz
(boundp 'baz)
=> nil
(fboundp 'baz)
=> t
3
如果您想了解Emacs内检查变量值(我不知道如果这适用,因为您写了“在Emacs Lisp”?):
M-:
在迷你缓冲区中启动Eval
。写入变量的名称并按回车键。迷你缓冲区显示变量的值。
如果变量未定义,则会出现调试器错误。
+0
等效地,`M- :(boundp'变量名称)RET`将被检查而不需要触发错误。 – 2016-12-25 17:42:18
相关问题
- 1. 如何检查变量是否定义?
- 2. 如何检查Xorg是否在emacs lisp中运行?
- 3. 如何检查Emacs Lisp中的字符串是否为空?
- 4. 如何检查点是否在Emacs Lisp的缩进点?
- 5. 如何使用Emacs Lisp检查文件是否存在?
- 6. 如何检查变量是否在Octave中定义?
- 7. Ruby:如何检查哈希定义中是否存在变量
- 8. C#检查变量是否定义
- 9. Common Lisp:如何检查一个插槽是否被绑定? (CLOS)
- 10. Autotabbing&检查变量是否定义
- 11. 如何检查Node.js中是否定义了变量?
- 12. 未定义的变量 - 如何检查var是否存在
- 13. 如何在Emacs Lisp中以编程方式设置自定义变量?
- 14. 如何检查变量是否未定义
- 15. 如何检查一个变量是否由名称定义
- 16. 如何检查是否定义了django模板变量?
- 17. 如何检查变量或对象是否未定义?
- 18. 检查变量是否已被追加
- 19. 如何检查变量是否存在?
- 20. 如何检查变量是否在python
- 21. 如何检查是否定义了一些变量?
- 22. Emacs Lisp:在alist中评估变量
- 23. 检查未定义的变量是否在chrome中不工作
- 24. 检查变量是否(定义)在JavaScript中不起作用
- 25. 如何检查变量是否在ASP.NET MVC中的主文件中定义
- 26. 如何检查一个常量是否在晶体中定义
- 27. 如何检查常量是否在主布局中定义?
- 28. Yii2检查包是否被定义
- 29. 检查名称是否被定义?
- 30. 如何查看是否在Javascript中定义了变量名称
有时使用INTERN-SOFT检查符号是否存在也可能有用。 – 2009-04-16 19:15:39