GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Quoting.html ・ emacs-doc.conao3.com

10.3 引用

特殊形式 quote は、単一の引数を評価することなく、記述されたまま返します。これにより、自己評価オブジェクトではない定数シンボルやリストをプログラムに組み込むことができます。(数値、文字列、ベクトルなどの自己評価オブジェクトをクォートする必要はありません。)

特殊形式: quote object

この特殊フォームは、評価せずに object を返します。返される値は共有される可能性があるため、変更してはいけません。自己評価フォームを参照してください。

プログラムでは quote が頻繁に使用されるため、Lisp ではこれに便利なリード構文が用意されています。アポストロフィ文字(‘'’)に続いて Lisp オブジェクト(リード構文で)を指定すると、第1要素が quote、第2要素がそのオブジェクトとなるリストに展開されます。したがって、リード構文 'x は (quote x) の略記となります。

quote を使用した表現の例をいくつか挙げます。

(quote (+ 1 2))
     ⇒ (+ 1 2)
(quote foo)
     ⇒ foo
'foo
     ⇒ foo
''foo
     ⇒ 'foo
'(quote foo)
     ⇒ 'foo
['foo]
     ⇒ ['foo]

式 (list '+ 1 2) と '(+ 1 2) はいずれも (+ 1 2) と等しいリストを生成しますが、前者は新たに生成された可変リストを返すのに対し、後者は共有される可能性があり変更すべきではないコンスから構築されたリストを返します。自己評価形式を参照してください。

その他のクォート構文には、Lispで記述された無名ラムダ式をコンパイルさせるfunction(無名関数を参照)や、リストの一部のみをクォートし、他の部分は計算して置換するために用いられる‘`’(バッククォートを参照)などがあります。