乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 28|回复: 4

[编程交流] 访问列表时遇到问题

[复制链接]

33

主题

77

帖子

44

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
165
发表于 2022-7-5 17:57:53 | 显示全部楼层 |阅读模式
我再次来到绝地圣殿寻求知识。
有人能帮我理解为什么我可以访问此列表中的项目并将其设置为变量吗
 
命令:!sdtable表格
(70465.0 61660.0 0.0 0.0 62.0 0.0 2.0 17.5 34.75 0.0 12.0)
(setq R2(第n个2 sdtable))
61660
 
而不是从这个列表中:
命令sdtable2
((202000.0 70465.0 1.0零零零零45.0 0.3125零17.5 30.56 17.5 30.56)(202001.0 70465.0 2.0零零零21.25 0.375))
(setq D2(第2个sdtable2))

 
 
我希望我以一种可以理解的方式提出这一点。谢谢你的帮助。
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

铜币
-7
发表于 2022-7-5 18:14:18 | 显示全部楼层
你确定(nth 2 sdtable)是61660.0吗?nth是一个基于零的索引函数,因此它应该返回0.0。
(nth 2 sdtable2)返回列表的第三个元素。您的sdtable2只有2个元素(也是列表),因此nth返回nil。
autocad帮助
回复

使用道具 举报

0

主题

99

帖子

99

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 18:39:34 | 显示全部楼层
nth 2 lst=您正在获取列表中的第三个元素。在您的例子中,列表中只有2个元素。这就是为什么它是零。
 
(nth 0 lst)=列表中的第一项
(第n个1 lst)=列表中的第二项
(nth 2 lst)=列表中的第三项
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:49:39 | 显示全部楼层
你有一个简单的嵌套列表
 
  1. (nth 0 lst) = (202000.0 70465.0 1.0 nil nil 45.0 0.3125 nil 17.5 30.56 17.5 30.56)
  2. (nth 0 (nth 0 lst)) = 202000.0
  3. (nth 1 (nth 0 lst)) = 70465.0
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 19:09:43 | 显示全部楼层
正如jdiaia所指出的那样
 
!sdtable2
((202000.0 70465.0 1.0零零零零45.0 0.3125零17.5 30.56 17.5 30.56)(202001.0 70465.0 2.0零零零21.25 0.375))
 
  1. (length sdtable2)  ->  2

 
sdtable2由2个列表组成,因此只有(nth 0和(nth 1)可以绑定到任何内容。
 
-大卫
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 23:35 , Processed in 0.361822 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表