【求助】如何取多层嵌套表中的原子?
本帖最后由 作者 于 2009-1-15 10:19:20 编辑有如下一种结构的表,怎样才能分层次的取得相应图元名,然后entget该图元名的数据库。
表的层次,可能不止三层。(((<图元名: 7ef671b0> . 2) ;最外层图块图元名及其内部包含的图块数
(((<图元名: 7ef671a8> . 4) ;第二层的第一个图块图元名及其内部包含的实体数
(<图元名: 7ef670b0> <图元名: 7ef670a8> <图元名: 7ef670a0> <图元名:7ef67098>) ;实体图元名表
)
((<图元名: 7ef671a0> . 2) ;第二层的第二个图块图元名及其内部包含的图块数
(((<图元名: 7ef67108> . 3) ;第三层的第一个图块图元名及其内部包含的实体数
(<图元名: 7ef50ec0> <图元名: 7ef50eb8> <图元名: 7ef50eb0>) ;实体图元名表
)
((<图元名: 7ef67100> . 4) ;第三层的第二个图块图元名及其包含的实体数
(<图元名: 7ef670b0> <图元名: 7ef670a8> <图元名: 7ef670a0> <图元名: 7ef67098>) ;实体图元名表
)
)
)
)
)
)必须修正一下,表的正确的结构格式应该是如下这样的,如果要获取表中的原子,已经比较明确了,已想到获取其原子的方法,就是采用递归的形式遍历表及其多重嵌套表。;;表开始
(;;第一个原子开始
((<图元名: 7ef72088> . 3);普通块,由3个实体组成
(<图元名: 7ef70fa8> <图元名: 7ef70fa0> <图元名: 7ef70f98>)
);;第一个原子结束
;;第二个原子开始
((<图元名: 7ef72168> . 2);嵌套块,该块由两个块组成
;;嵌套块中的第一个块开始
(((<图元名: 7ef72160> . 4);普通块,由四个实体组成
(<图元名: 7ef72108> <图元名: 7ef72100> <图元名: 7ef720f8> <图元名: 7ef720f0>)
);;嵌套块中的第一个块结束
;;嵌套块中的第二个块开始
((<图元名: 7ef72158> . 3);普通块,由两个实体和一个图块组成
(<图元名: 7ef72020> <图元名: 7ef72018>
;;嵌套块中的第二个块中的第一个块开始
((<图元名: 7ef72010> . 3);普通块,有3三个实体组成
(<图元名: 7ef70fa8> <图元名: 7ef70fa0> <图元名: 7ef70f98>)
);;嵌套块中的第二个块中的第一个块结束
)
);;嵌套块中的第二个块结束
);;嵌套块中的第一个块结束
);;第二个原子结束
;;第三个原子开始
((<图元名: 7ef70f70> . 5);普通块,由5个实体组成
(<图元名: 7ef70f68> <图元名: 7ef70f60> <图元名: 7ef70f58> <图元名: 7ef70f50> <图元名: 7ef70f48>)
);;第三个原子结束
);;表结束
1.1、嵌套图块返回如下格式:
(((<图元名: 7ef67130> . 2)
(((<图元名: 7ef67108> . 3)
(<图元名: 7ef50ec0> <图元名: 7ef50eb8> <图元名: 7ef50eb0>)
)
((<图元名: 7ef67100> . 4)
(<图元名: 7ef670b0> <图元名: 7ef670a8>
<图元名: 7ef670a0> <图元名:
7ef67098>
)
)
)
)
)
1.2、一般图块,单层不嵌套的图块,返回如下格式:
(((<图元名: 7ef67120> . 4)
(<图元名: 7ef670b0> <图元名: 7ef670a8> <图元名: 7ef670a0> <图元名:
7ef67098>)
)
) <p>就用nth一个一个取吧</p><p>可以用listp循环判断是否是表(表中是否有嵌套)</p> 补充如下:
标的结构如下,内层的数据,需要到外层的数据,递归循环,编个例程。
((<图元名: 7ef66088>
(<图元名: 7ef64fa8> <图元名: 7ef64fa0> <图元名: 7ef64f98>)
)
(<图元名: 7ef66168>
((<图元名: 7ef66160>
(<图元名: 7ef66108> <图元名: 7ef66100> <图元名: 7ef660f8> <图元名: 7ef660f0>)
)
(<图元名: 7ef66158>
(<图元名: 7ef66020> <图元名: 7ef66018>
(<图元名: 7ef66010>
(<图元名: 7ef64fa8> <图元名: 7ef64fa0> <图元名: 7ef64f98>)
)
)
)
)
)
(<图元名: 7ef64f70>
(<图元名: 7ef64f68> <图元名: 7ef64f60> <图元名: 7ef64f58> <图元名: 7ef64f50> <图元名: 7ef64f48>)
)
)
页:
[1]