Koma digunakan dalam konteks daftar backquoted (alias quasiquoted), yang memungkinkan Anda untuk mengevaluasi beberapa bagian dari daftar secara selektif. Lihat juga utas ini untuk contoh penggunaan untuk backquoting.
Beberapa contoh sederhana:
(setq a "a's value" b "b's value" c "c's value")
'(a b c) ; => (a b c)
`(,a b ,c) ; => ("a's value" b "c's value")
Koma yang Anda maksudkan berada dalam definisi makro yang, pada gilirannya, menggunakan kutipan balik progn
:
(defmacro add-annoying-arrows-advice (cmd alternatives)
`(progn
(add-to-list 'annoying-commands (quote ,cmd))
(put (quote ,cmd) 'aa--alts ,alternatives)
(defadvice ,cmd (before annoying-arrows activate)
(when annoying-arrows-mode
(aa--maybe-complain (quote ,cmd))))))
,cmd
dalam tanda kutip belakang memungkinkan Anda untuk menempatkan nilai cmd
di tempat daripada simbol cmd
.
progn
berarti Anda harus meletakkan koma di depan hal-hal yang ingin Anda evaluasi, tidak peduli seberapa jauh bersarang? (Ada di,cmd
dalam daftar lain, bukan di dalam(progn)
.)