明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 832|回复: 5

[提问] 列表长度有限制吗

[复制链接]
发表于 2015-7-15 11:46:18 | 显示全部楼层 |阅读模式
比如说我想把整个图里的直线的数据全部加到一个列表里
如果图比较大的话,整个列表会相当长
不知道cad对列表的长度存在限制吗
发表于 2015-7-15 12:08:23 | 显示全部楼层
你可以试试设置table rows count = 9999999999
发表于 2015-7-15 12:40:00 | 显示全部楼层
list表理论是无限,但是你要读取数据得用整数,那么整数在32位和64位又不一样。
 楼主| 发表于 2015-7-15 14:09:33 | 显示全部楼层
edata 发表于 2015-7-15 12:40
list表理论是无限,但是你要读取数据得用整数,那么整数在32位和64位又不一样。

不懂,每一个整数都不会那么大的吧
我的理解是表在内存里应该不是连续放的吧,和c语言里的指针一样
是不是说指针的数量超过整数的范围才会出错?
发表于 2015-7-15 14:44:49 | 显示全部楼层
我的意思是list元素可以无限,但是你用来取数据的函数nth,length,等有限制,
你有时间自己构建一个超长表试试,根据配置,需要一段时间才能构建出来。
结论是你目前能用到的数量基本不会超出。如果超出,那么CAD也会内存出错了。

指针 数量由内存决定,
lisp存储结构
如果一个内存单元分为左右两部分,分别存放连个内存单元的地址,那么这个内存单元就具有左右两个指针。这个具有左右连个指针的内存单元成为结点,每个节点的长度是12个字节,等分为左右两个部分,作为左右指针,每个节点都有它的地址,autolisp通过这样的一些结点构成链表,以链式方式存储各种数据。
表通过一组节点来存储,这些结点用右指针指向各自下一个元素的地址,最后一个节点的指针为空,用左指针指向各元素。
 楼主| 发表于 2015-7-15 18:44:47 | 显示全部楼层
edata 发表于 2015-7-15 14:44
我的意思是list元素可以无限,但是你用来取数据的函数nth,length,等有限制,
你有时间自己构建一个超长表 ...

3q3q3q3q3q3q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-7-16 04:11 , Processed in 0.161061 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表