【发布时间】:2012-05-18 12:12:29
【问题描述】:
虽然(symbol-function '1+) 提供了绑定到符号#<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 似乎在抛出,删除该检查似乎有效,但我仍然想找到更好的方法。
【问题讨论】:
-
如果你问我认为你在问什么......这与问“哪个变量是 17?”是一样的
标签: reflection lisp common-lisp