[已解决] 有没有函数可以生成一个类似 (a . b) 这样的东西?

我知道可以用 '(a . b), 有没有类似cons的函数, 可以返回这样的值? 中间有个点号.

就是cons

cons生成的中间没有点号

(cons 1 '(2 3))
=> (1 2 3)
(cons 1 2)
=> (1 . 2)

第二个参数也是atom就可以了

这东西叫做 alist

emacs + alist 一搜就有

cons函数可以生成一个列表,其中参量2作为cdr部分,参量1作为car部分。你想要的中间带句点的是带点偶对(dotted pair)或cons原胞(cons cell)。

是的, 多谢

明白了, 多谢大家.

这玩意叫 dot pair 吧

https://www.gnu.org/software/emacs/manual/html_node/elisp/Association-Lists.html

alist 应该是 dotted-pair 的集合: https://www.gnu.org/software/emacs/manual/html_node/elisp/Dotted-Pair-Notation.html