にクロージャ動作を実装したくありません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 を実行するたびに、expr(funcall bar 1)
の結果を だけインクリメントすることです1
。なぜうまくいかないのかわからないのですが、誰か説明してもらえますか?Emacs Lispでクロージャを行うにはどうすればよいですか? で同様の質問を見つけました。しかし、私はそれを理解することはできません。私の Emacs のバージョンは 24.2.1 で、lexical scoping
.