3
在elisp中,爲什麼要調用lambda工作,但應用它會產生錯誤?funcall vs適用於elisp中的lambda
ELISP> (funcall (lambda()))
nil
ELISP> (apply (lambda()))
*** Eval error *** Invalid function: lambda
在elisp中,爲什麼要調用lambda工作,但應用它會產生錯誤?funcall vs適用於elisp中的lambda
ELISP> (funcall (lambda()))
nil
ELISP> (apply (lambda()))
*** Eval error *** Invalid function: lambda
我的emacs給出了另一個錯誤:
*** Eval error *** Wrong number of arguments: apply, 1
我認爲這說明了一切。
申請必須給出的參數,請參閱(形容函數)結果:
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]
呀呼(適用(拉姆達())無)的作品。當SO讓我回答時,會標記答案。 – rhlee