Benim güzel işlevi değişken yakalayan:elisp: iç işlevinden
(funcall (f 2) 2)
4. dönmek için Ama ne yazık ki, ben bu yerine var: Sonra
(defun f (x)
(lambda (y) (+ x y)))
, bunu bekliyoruz
Debugger entered--Lisp error: (void-variable x)
Değişkenleri içsel işlevlerden nasıl alabilirim?
Emacs 24'ten itibaren, dinamik kapsamdaki "bug" için başka bir çözüm daha var: '; - * - Sözcüksel bağlanma: t - * - 'sözcüksel açıklamayı etkinleştirmek için dosyanın üstünde. Bunu yaparsanız, yukarıdaki kod beklendiği gibi çalışır. –