- 积分
- 59545
- 明经币
- 个
- 注册时间
- 2005-11-29
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2023-6-14 17:03:54
|
显示全部楼层
点对的最后一项一定是atom,前边是什么没有具体要求,比如(1 . 2),(1 2 3 4 . 5),((1 2 3 4) . 5)都是有效点对,虽然后边两种实际基本用不到,但都是有效的点对;
但类似(1 . (3 4 5 6 7))或者 (“1” . (1 2 3 4 5 6))的数据是不存在的,CAD的list认为它是不合法的,所以无法构建出它们,哪怕通过read都得不到这样的数据,(read"(1 . (3 4 5 6 7))")将得到的(1 3 4 5 6 7)
CONS的作用有两个,构建点对只是其中一个作用,另一个作用是给已有的表在表头位置增加一个元素,Adds an element to the beginning of a list, or constructs a dotted list
(cons new-first-element list-or-atom)
(cons'(1 2 3 4)5)->((1 2 3 4) . 5),(cons 1 nil)->(1)
另一个和CONS极其相似但不尽相同的是vl-list*,但都无法构建出楼主希望的数据,因为那样的数据本身是不合法的表或点对
|
|