乐筑天下

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

[编程交流] 修复我的Plot命令

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:01:58 | 显示全部楼层
你必须使用
 
  1. (if (not...

 
因为我们正在检查空输入。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:04:10 | 显示全部楼层
这里有一些关于逻辑和默认值的更多信息,有很多方法可以做这些事情,所以这篇文章并不完整。
 
首先,您需要记住,如果用户按enter键,getkword将返回nil,因此为了控制默认值,我们利用了这一事实。
 
有很多方法可以做到这一点,但这里有一些方法,我很快就组合起来了。
 
最简单的例子是,当您想要一个永远不会改变的“设置”默认值(如“是/否”,总是默认为“是”):
 
  1. (initget "Yes No")
  2. (if (not (setq ans (getkword "\nYes or No <Yes> : ")))
  3. (setq ans "Yes"))
  1. (initget "Yes No")
  2. (setq ans (cond ((getkword "\nYes or No <Yes> : "))
  3.                ("Yes")))
  1. (initget "Yes No")
  2. (or (setq ans (getkword "\nYes or No <Yes> : "))
  3.    (setq ans "Yes"))

但我们可以更进一步,也许有一个默认值将更改为最后输入的值。
 
例如,检索非零正数时:
 
在这里,我们设置了一个初始默认值“*def*”(它将保持全局-即不本地化),并且,如果用户在提示符上输入一个新数字,我们会将该数字设置为默认值。变量*def*将被我们的程序用于任何目的。
 
因此,如果用户在提示符下点击enter键,*def*的值不会改变,我们的程序将使用默认值。
 
实现相同结果的其他方法:
 
  1. 11

对于那些没有看到以这种方式使用的函数“和”&“或”的人,为了帮助澄清它,考虑一下这些函数的评估方式。
 
使用or时,将对语句进行求值,直到语句的求值结果为true。此时评估停止。
 
使用and,将对语句进行求值,直到语句的求值结果为nil(false)。此时评估停止。
 
此外,请记住,true是任何非零的东西。
 
 
我希望这能帮助你理解,
 
回复

使用道具 举报

36

主题

183

帖子

151

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-6 13:08:10 | 显示全部楼层
这对李很有帮助,谢谢。。。我找不到任何关于正确使用(and)和(or)函数的信息。
 
(如果)声明总是必须被(非)声明搁置吗?我找不到任何不符合此订单的示例。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:09:48 | 显示全部楼层
安德鲁,
 
查看Visual LISP编辑器帮助文件。它们包含在此阶段使用LISP函数时可能需要的所有信息。
 
其中一些是为VBA编写的,但可以很容易地适用于LISP-但在这个阶段,除非您决定冒险使用Visual LISP,否则应该没问题。
回复

使用道具 举报

36

主题

183

帖子

151

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-6 13:14:23 | 显示全部楼层
我有个问题。。。我把我所有的Lisp程序写在记事本上。。。在ACAD内的编辑器中编写它们会更好吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:16:43 | 显示全部楼层
 
肯定
 
AutoCAD中的编辑器比记事本好100倍-语法高亮显示和帮助是必不可少的。
 
另一种方法是Notepad++或其他主流代码编辑器,如Vim,但它们在LISP帮助中没有提供那么多。
回复

使用道具 举报

36

主题

183

帖子

151

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-6 13:21:35 | 显示全部楼层
好的,谢谢李!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:23:18 | 显示全部楼层
最重要的是,AutoCAD中的Visual LISP编辑器(VLIDE)具有调试和格式化选项,可以为您设置代码,还可以让您知道问题区域在哪里。
 
还有“自动文字完成”选项、变量监视/跟踪和加载等。
 
有关如何在此处使用它的更多信息:
 
http://www.afralisp.net/vl/vlisp.htm
 
http://www.afralisp.net/vl/vl-edit.htm
 
http://midpointcad.com/au/docs/lakose_The_Visual_LISP_Developers_Bible.pdf
回复

使用道具 举报

36

主题

183

帖子

151

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
185
发表于 2022-7-6 13:27:52 | 显示全部楼层
圣经。。。我总是可以用那个。。。谢谢李。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:31:02 | 显示全部楼层
 
没问题-你很快就会被转化
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 06:23 , Processed in 0.493031 second(s), 81 queries .

© 2020-2025 乐筑天下

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