乐筑天下

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

[编程交流] 在Lisp中使用时

[复制链接]

6

主题

21

帖子

14

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 12:18:50 | 显示全部楼层 |阅读模式
大家好,
我想我有一个简单的问题,所以希望我能找到我的答案…
当我使用这段代码时,一切都很好
(而(/=dst1“400”)
(setq dst1(getstring T“\n输入宽度(400200):”)
然而,当我尝试使用“或”时,我无法使其工作
(while(或(/=dst1“400”)(/=dst1“200”))
(setq dst1(getstring T“\n输入宽度(400200):”)
提前感谢!
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 12:28:50 | 显示全部楼层
如果dst1在or语句中不等于400或200,它将返回nil。因此,终止时。试着用and代替or。
回复

使用道具 举报

41

主题

301

帖子

265

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
209
发表于 2022-7-6 12:33:25 | 显示全部楼层
如果要使用getstring函数,为什么不按下面的方法操作呢
 
  1. (initget 7 "200 400")
  2. (setq dst1 (getstring T "\nEnter Width (400,200): "))

但要回答你的问题,请尝试,
另一方面,我认为你需要一个“and”而不是“or”语句。
还有,如果我的记忆中断了,正确的“/”有时会引起问题,最好使用“不”。。。请注意,我年轻时很安静。
 
 

  1. (while (not (member dst1 '("200" "400")))....
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 12:38:06 | 显示全部楼层
FlowerRobot,initget与getstring不兼容。
回复

使用道具 举报

6

主题

21

帖子

14

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 12:48:52 | 显示全部楼层
感谢您的回复。
我没有成功使用(initget 7“400 200”),因为如果我输入400和200以外的值,程序将继续。然而,使用“and”和(not)(或在大多数情况下都不起作用,但我现在的问题是,如果我输入400作为宽度,然后在一分钟后重复该命令,它将跳过while循环(这是要求输入距离的部分)并移到下一步。它似乎是在记住第一次使用命令时输入的距离。。。有什么原因吗?
再次感谢
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 12:49:55 | 显示全部楼层
您没有本地化变量。在没有看到代码的情况下很难猜测。
 
为什么不使用getreal、getdist或getint来消除用户输入字母字符?如果需要,您可以随时将其转换为字符串。
回复

使用道具 举报

6

主题

21

帖子

14

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 12:58:56 | 显示全部楼层
一旦这段代码完成,我将把它添加到我们办公室的另一段代码中,这段代码绘制了辐射体线。这部分将有助于抵消线。。。
 
(定义c:测试(/en1 pt1和)
(setvar“cmdecho”0)
(而不是(或(=dst1“400”)(=dst1“200”))
(setq dst1(getstring T“\n输入宽度(400200):”)
)
(setq en1(entlast))
(setq pt1(getpoint“\n指定偏移侧:”)
(如果(=dst1“400”)
(程序
(命令“.u offset”400 en1“\u non”pt1”)
))
(如果(=dst1“200”)
(程序
(命令“.u offset”200 en1“\u non”pt1”)
))
(setvar“cmdecho”1)
(普林斯)
)
回复

使用道具 举报

6

主题

21

帖子

14

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 13:05:41 | 显示全部楼层
 
我必须添加dst1,我必须删除和我的局部变量
 
谢谢大家
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 13:08:52 | 显示全部楼层
尝试以下操作:
 
  1. 3

 
此外,如果启用动态模式,您可以选择200或400,或者单击鼠标右键。
回复

使用道具 举报

41

主题

301

帖子

265

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
209
发表于 2022-7-6 13:18:55 | 显示全部楼层
 
哎呀,我在想getkword,但写getstring的时候,喝着我早上的咖啡,所以你知道这是怎么回事。。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 05:59 , Processed in 0.445601 second(s), 83 queries .

© 2020-2025 乐筑天下

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