Emacs Part 39
■ このスレッドは過去ログ倉庫に格納されています
0689名無しさん@お腹いっぱい。
2012/01/13(金) 10:41:53.08;; 今まで
(setq a 100)
(defun foo () (message "%d" a))
(progn (let ((a 200)) (foo)) (foo))
=> 200 100
;; lex bind
(setq lexical-binding t)
(setq a 100)
(defun foo () (message "%d" a))
(progn (let ((a 200)) (foo)) (foo))
=> 100 100
ただし、a が defvar で宣言されている場合は lexical-binding を t にしてても強制的に
dynamical binding (ようするに今までのと同じ)になる。
だから基本的には置き換えしてもそんなに影響はでないはず。
■ このスレッドは過去ログ倉庫に格納されています