gpt4 book ai didi

emacs - elisp ,将函数作为参数传递并调用它,发生 Eval 错误,为什么?

转载 作者:行者123 更新时间:2023-12-01 09:44:36 26 4
gpt4 key购买 nike

我的 elisp 程序是:

(defun test (f x) (f x))
(test (lambda (x) (* x x)) 10)

运行,出现错误:

* Eval error * Symbol 的函数定义无效:f

最佳答案

Emacs 是 lisp-2,因此对函数和变量有不同的命名空间。所以,在测试中,第二个(f x)中的f和参数列表中的(f)不一样。

尝试

(defun test (f x) (funcall f x))

一切都很好。

关于emacs - elisp ,将函数作为参数传递并调用它,发生 Eval 错误,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20679541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com