虽然(symbol-function '1+)
将函数绑定到 symbol #<function 1+>
,但获取特定函数绑定的符号的方法是什么?像:(function-symbol #'1+)
=> '1+
?还是我必须自己在当前包中搜索它?(希望不是...)
谢谢!
编辑:
这是原型(但它不起作用,因为如果函数未定义但已绑定,我会收到错误 - 我不太明白)
(defun function-symbol (searched)
(loop for f being the symbols in *package*
do (format t "f: ~s~&" f)
when (and (fboundp f)
(eq searched (symbol-function f)))
collect f))
更多编辑:
似乎symbol-value
正在抛出,删除该检查似乎有效,但我仍然想找到更好的方法。