跳转到内容

通用 Lisp/参考/cons

来自维基教科书,开放的书籍,开放的世界

cons 既是 Lisp 的基本内存对象,也是 Lisp 运算符的名称。cons 作为内存对象,是一种能够存储一对对象的内存结构,称为 carcdr

cons 运算符提供了一种创建 cons 对象并设置值的方法。例如,以下命令创建了一个 car 字段设置为 1、cdr 字段设置为 2 的 cons 对象

> (cons 1 2)

(1 . 2)

由于 cons 对象可以在其 car 和 cdr 字段中存储对其他 cons 对象的引用,因此 cons 字段也可以用作一系列数据结构的基本构建块。因此,可以使用 cons 对象构造单向链表,例如

> (cons 1 (cons 2 (cons 3 nil)))

(1 2 3)

之前的 car 嵌套结构生成与以下等效的单向链表

> (list 1 2 3)

(1 2 3)


另请参见

[编辑 | 编辑源代码]
华夏公益教科书