我尝试过使用functionp和fboundp,我想知道它们有什么区别以及它们如何用于调用函数。
(functionp OBJECT)
- 如果OBJECT是一个函数,则为非零。
(fboundp SYMBOL)
- 如果SYMBOL的函数定义无效,则返回。
例如,我试图这样做:
(if (python-shell-get-buffer)
....
....
但是在run-python运行之前,python-shell-get-buffer没有定义。
如果我只是试着调用它,在它定义之前,我得到:
符号的函数定义是void:python-shell-get-buffer
我尝试过使用
(if (and (fboundp python-shell-get-buffer) (python-shell-get-buffer))
和
(if (and (functionp python-shell-get-buffer) (python-shell-get-buffer))
但他们也会导致
符号的变量值为void:python-shell-get-buffer
如何调用可能定义或未定义的函数?