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))