by shigemk2

当面は技術的なことしか書かない

バッククォート

特定の記法により、式の評価値を産め込むことが出来る。

;; ,と@がなければ普通のquoteと同じ
`(1 2 3)				; => (1 2 3)
;; ,の後に式の評価値を埋め込む
`(1 ,(+ 1 1) 3)				; => (1 2 3)
`(foo ,(list 'bar) baz)			; => (foo (bar) baz)
;; ,@の後にリスト展開をする
`(foo ,@(list 'bar) baz)		; => (foo bar baz)
;; letで変数を代入する例
(let ((a 1) (b 2) (c 'test))
  `(1 ,(+ a b) x (a ,a (,b) ,@(list c)) ,c ',c)) ; => (1 3 x (a 1 (2) test) test (quote test))

P180

Emacs Lispテクニックバイブル

Emacs Lispテクニックバイブル