funcall vs在elisp中应用lambda
在elisp中,为什么函数化lambda有效,但应用它会引发错误funcall vs在elisp中应用lambda,lambda,elisp,function-pointers,Lambda,Elisp,Function Pointers,在elisp中,为什么函数化lambda有效,但应用它会引发错误 ELISP> (funcall (lambda ())) nil ELISP> (apply (lambda ())) *** Eval error *** Invalid function: lambda 我的emacs给出了另一个错误: *** Eval error *** Wrong number of arguments: apply, 1 我认为它解释了一切。必须为Apply提供参数,请参见(描述函数
ELISP> (funcall (lambda ()))
nil
ELISP> (apply (lambda ()))
*** Eval error *** Invalid function: lambda
我的emacs给出了另一个错误:
*** Eval error *** Wrong number of arguments: apply, 1
我认为它解释了一切。必须为Apply提供参数,请参见(描述函数)结果:
apply is a built-in function in `C source code'.
(apply FUNCTION &rest ARGUMENTS)
Call FUNCTION with our remaining args, using our last arg as list of args.
Then return the value FUNCTION returns.
Thus, (apply '+ 1 2 '(3 4)) returns 10.
[back]