Next: Eval, Previous: Forms, Up: Evaluation
スペシャルフォームquoteは、単一の引数を
評価せずに書かれたとおりに返します。
これは、自己評価型オブジェクトではない
定数シンボルや定数リストをプログラム内に書く手段です。
(数、文字列、ベクトルなどの自己評価型オブジェクトをクォートする必要はない。)
quoteはプログラム内で頻繁に使うので、
Lispには便利な入力構文が用意してあります。
アポストロフ文字(‘'’)に続けた(入力構文で書いた)Lispオブジェクトは、
先頭要素がquoteであり2番目の要素がそのオブジェクトである
リストに展開されます。
したがって、入力構文'xは、(quote x)の省略形です。
quoteを使った式の例をいくつかあげておきます。
(quote (+ 1 2))
(+ 1 2)
(quote foo)
foo
'foo
foo
''foo
(quote foo)
'(quote foo)
(quote foo)
['foo]
[(quote foo)]
他のクォートの書き方には、function(see Anonymous Functions)が
あります。
これは、Lispで書いた無名ラムダ式をコンパイルするようにします。
また、‘`’(see Backquote)は、
リストの一部分をクォートし、他の部分は計算結果で置き換えるために使います。