シンボルにバインドされた関数を(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
いたようで、そのチェックを削除するとうまくいくようですが、それでももっと良い方法を見つけたいと思います。