4 symbols function common-lisp
是否有可能在常见的lisp中将函数转换为符号或字符串以供进一步使用?我的意思是得到一个"+"或#:|+|从#'+.
唯一的标准方式是
function-lambda-expression
它不保证返回任何有用的东西.
永远不会,CLISP和SBCL都会返回实际的函数名称:
(nth-value 2 (function-lambda-expression #'+))
==> +
Run Code Online (Sandbox Code Playgroud)
或者,如果你愿意,
(symbol-name (nth-value 2 (function-lambda-expression #'+)))
==> "+"
Run Code Online (Sandbox Code Playgroud)
CL-USER> (nth-value 2 (function-lambda-expression #'sin))
SIN
Run Code Online (Sandbox Code Playgroud)