有人告诉我,我不应该在报价拉姆达,比方说,为什么不引用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