有人告訴我,我不應該在報價拉姆達,比方說,爲什麼不引用lambda?
(global-set-key (quote [f3]) '(lambda() (interactive) (other-window -1)))
我想,的確,如果我不引用拉姆達,它同樣適用
(global-set-key (quote [f3]) (lambda() (interactive) (other-window -1)))
不過,我不不明白爲什麼後者會起作用(也是首選,現在後者起作用,爲什麼前者也起作用)。
如果lambda表達式定義爲其他功能,我們會叫
(global-set-key (quote [f3]) 'my-function)
,以防止我的功能將立即評估。我將lambda表達式理解爲my函數的匿名版本。那麼爲什麼不應該引用lambda呢?
謝謝!
順便一提,矢量文字也是「自引用」,所以沒有必要引用它們。 – gsg
不完全重複,但請參閱[何時應使用Emacs#的函數語法?](http://stackoverflow.com/questions/16801396/when-should-emacs-function-syntax-be-used) – phils