如何访问Lisp符号函数单元
如果我创建这个函数如何访问Lisp符号函数单元,lisp,symbols,Lisp,Symbols,如果我创建这个函数 (defun a (&rest x) x) 我有一个新函数,它模仿了list函数。正如我所读到的,我对符号a的“功能单元”做了一些修改。在我创建和评估上面的函数之前,我会得到一个 Symbol’s function definition is void: a 如果我想试试像(a'b)这样的东西。好。现在,有没有一种方法可以准确地看到这些符号单元包含什么,它们如何保持plist、值,在我的例子中还有函数,例如它们的数据结构,以及它们如何连接到符号?我听说你实
(defun a (&rest x)
x)
我有一个新函数,它模仿了list
函数。正如我所读到的,我对符号a
的“功能单元”做了一些修改。在我创建和评估上面的函数之前,我会得到一个
Symbol’s function definition is void: a
如果我想试试像
(a'b)
这样的东西。好。现在,有没有一种方法可以准确地看到这些符号单元包含什么,它们如何保持plist、值,在我的例子中还有函数,例如它们的数据结构,以及它们如何连接到符号?我听说你实际上可以进入这些符号单元并操纵它们。我使用的是elisp,但是任何关于这方面的Lisp知识都将不胜感激。您想看看符号函数
,符号plist
,符号值
,符号宏展开
和符号宏小集
在您的示例中:
(symbol-function 'a) =>
#<FUNCTION A (&REST X) (DECLARE (SYSTEM::IN-DEFUN A)) (BLOCK A X)>
(符号函数“a)=>
#
您要查看符号函数
,符号plist
,符号值
,符号宏展开
和符号宏小集
在您的示例中:
(symbol-function 'a) =>
#<FUNCTION A (&REST X) (DECLARE (SYSTEM::IN-DEFUN A)) (BLOCK A X)>
(符号函数“a)=>
#
在Common Lisp中,可以使用函数description
获取有关符号的信息:
* (defun a (&rest x)
x)
A
* (describe 'a)
COMMON-LISP-USER::A
[symbol]
A names a compiled function:
Lambda-list: (&REST X)
Derived type: (FUNCTION * (VALUES LIST &OPTIONAL))
Source form:
(LAMBDA (&REST X) (BLOCK A X))
在Common Lisp中,可以使用函数
description
获取有关符号的信息:
* (defun a (&rest x)
x)
A
* (describe 'a)
COMMON-LISP-USER::A
[symbol]
A names a compiled function:
Lambda-list: (&REST X)
Derived type: (FUNCTION * (VALUES LIST &OPTIONAL))
Source form:
(LAMBDA (&REST X) (BLOCK A X))