乐筑天下

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

[编程交流] 如何将WCMATCH添加到程序

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:53:33 | 显示全部楼层
 
谢谢你,萨蒂什
回复

使用道具 举报

13

主题

146

帖子

136

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2022-7-5 18:55:11 | 显示全部楼层
李,
 
感谢您提供了最优秀的逐步解释。请原谅延迟回复,我一直在研究。
如果我能解释一下我从你上面的教程中理解的内容;我们创建两个相同的列表,并将其中一个向右移动,因为其最后一个项目被复制并设置到第一个位置(cons),然后逐个配对列表,直到短列表全部用完(mapcar),结果列表传递给grdraw以显示为连接的顶点。对
 
好奇的问题:GRVEC是否需要类似的列表操作?
 
史蒂夫
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:01:03 | 显示全部楼层
 
不客气;无需赦免
 
 
只有一个列表被分配给变量“l”:矩形的四个有序顶点的列表-该列表不包含任何重复项。
 
这四个顶点的列表作为mapcar表达式的第二个列表参数传递。
 
最后一个函数将检索该列表中的最后一项,cons函数将最后一个函数返回的值“推”到列表的前面,返回一个包含五项的列表(第一项等于最后一项)。
 
然后将这五个项目的列表作为mapcar表达式的第一个列表参数传递。
 
然后,将每个列表参数中的每个项作为参数传递给lambda函数-列表不会以任何方式“合并”,并且在将这些项提供给mapcar表达式的函数参数之前,不会创建新列表。
 
然后,mapcar将返回一个列表,其中包含其函数参数(在这种特殊情况下为lambda函数)每次求值的结果。
 
 
首先,我要注意的是,我的示例演示的列表操作对于程序的成功运行来说根本不是必需的(如您所知,因为您的原始代码也会表现得同样好);使用mapcar只会使代码更加简洁,重复的表达式更少。
 
有许多方法可以编写AutoLISP表达式,同时仍能实现相同的最终结果:一些算法可能更优雅或简洁,另一些可能更高效。根据应用程序的不同,最优雅的路由可能会导致效率低下(尤其是对于某些递归解决方案),而对于其他应用程序,最有效的路由可能会导致代码无法管理。
 
GRVEC的使用可以替代现有代码中的grdraw,并以完全相同的方式编写,或者可以编写为多个GRVEC表达式,或者编写为具有多个参数的单个GRVEC表达式-不一定只有一个“正确”答案。
回复

使用道具 举报

13

主题

146

帖子

136

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2022-7-5 19:08:03 | 显示全部楼层
 
似乎我过于简单化了。感谢您的善意更正和进一步澄清。
现在清楚多了。
 
干杯
史蒂夫
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 00:49 , Processed in 1.004624 second(s), 58 queries .

© 2020-2025 乐筑天下

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