Next: , Previous: Forms, Up: Evaluation


8.3 クォート

スペシャルフォームquoteは、単一の引数を 評価せずに書かれたとおりに返します。 これは、自己評価型オブジェクトではない 定数シンボルや定数リストをプログラム内に書く手段です。 (数、文字列、ベクトルなどの自己評価型オブジェクトをクォートする必要はない。)

— Special Form: quote object

このフォームはobjectを評価せずに返す。

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)は、 リストの一部分をクォートし、他の部分は計算結果で置き換えるために使います。