有人可以帮助您了解这里发生了什么吗?
(DEFUN G(L)(+(CAR L)(CADR L)))
(SETQ H`F)(SET H `G)
我想知道评估时会发生什么(F`(2 3 4 5 6))
我已经在lisp解释器中编写了它,但是出现以下错误:
Undefined function F
Common Lisp有一个用于值的名称空间和另一个用于函数的名称空间。
CL-USER 49 > (DEFUN G(L)(+(CAR L)(CADR L)))
G
CL-USER 50 > (SETQ H 'F)
F
CL-USER 51 > (SET H 'G)
G
CL-USER 52 > F
G
CL-USER 53 > (symbol-value 'F)
G
CL-USER 54 > (symbol-function 'f)
Error: Undefined function F in form (SYMBOL-FUNCTION F).
您所做的只是设置value F
,而不是function F
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句