我不想在 中实现闭包行为Elisp
,这里是代码:
(setq lexical-binding t)
(setq var 3)
(require 'cl)
(defun foo (n)
#'(lambda (i)
(incf n i)))
(defvar bar (foo var))
(funcall bar 1)
我想要得到的是,每次我运行 expr:(funcall bar 1)
它都会将 expr 的结果增加1
. 我不知道为什么它不能工作,有人可以给我解释一下吗?我在如何在 Emacs Lisp 中进行闭包中发现了一个类似的问题?但我无法理解。我的 Emacs 版本是 24.2.1,它似乎支持lexical scoping
.