kobapan@wiLiki
Login
Emacs

Emacs:lambda関数にクォートはいるのか

lambda関数にクォートはいるのかという話

結論をいうと、どっちでもよい。

以下は等価

1 (function (lambda (x) (* x x)))
2 #'(lambda (x) (* x x)) ; read マクロ #' は function の省略形
3 (lambda (x) (* x x)) ; lambda は (function (lambda )) を返すマクロ。subr.el

クォートした場合だけ、ちょと違いが生じる。 上とほぼ等価だが、バイトコンパイルした場合に、匿名関数の内部は単なるリストとして扱われコンパイルされない。 '(lambda (x) (* x x))

 

Debian
Emacs
Firefox
Gauche
JavaScript
Linux
Scheme
org-mode/latex

More ...