quasiquote と unquote

(quasiquote obj)の省略形。アンクォートされた部分は評価し、それ以外は'と同様、評価せずにそのまま返す。

(unquote obj)の省略形。quasiquoteのなかで使われ、部分的にアンクォートする。

> (+ (* 1 2) (* 3 4))
14
> `(+ (* 1 2) (* 3 4))
(+ (* 1 2) (* 3 4))
> `(+ (* 1 2) ,(* 3 4))
(+ (* 1 2) 12)
> (define x 1)
> `(x ,x x)
(x 1 x)
> `(x 'x ',x)
(x 'x '1)

一覧 前へ 次へ