短反引号和长反引号之间似乎存在一些区别。
(let ((x 123))
(dolist (res (list `(a `(b ,x))
`(a (backquote (b ,x)))
(backquote (a (backquote (b ,x))))
(backquote (a `(b ,x)))))
(print res)))
输出:
(a (\` (b (\, x))))
(a (backquote (b 123)))
(a (backquote (b 123)))
(a (\` (b (\, x))))
为什么它对 x 的行为不同?甚至不确定四个结果中的哪两个应该是令人惊讶的结果。