乐筑天下

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

[编程交流] 联合IF

[复制链接]

17

主题

34

帖子

17

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-6 14:35:26 | 显示全部楼层 |阅读模式
大家好
 
可以从一个if语句控制多个命令吗?即。
 
(如果(或(=[var1]T)(=[var2]T)(=[var3]T))
(命令“circle”“0,0”“25”)
(命令“circle”“0,0”“50”)
(命令“circle”“0,0”“75”)
(命令“circle”“0,0”“100”)
(命令“圆圈”0,0“125”)
(命令“circle”“0,0”“150”)
(命令“circle”“0,0”“175”)
(命令“circle”“0,0”“200”)
(命令“circle”“0,0”“225”)
(命令“circle”“0,0”“250”)
);如果结束
 
我已经玩过(cons&(cond)了,假设它们允许上述情况,但无法正常运行。
 
谁能给点建议吗?
 
非常感谢。
回复

使用道具 举报

1

主题

316

帖子

311

银币

初来乍到

Rank: 1

铜币
29
发表于 2022-7-6 14:53:31 | 显示全部楼层
用progn换行,如果任何表达式为true,则执行整个progn语句。
回复

使用道具 举报

20

主题

344

帖子

325

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 15:01:17 | 显示全部楼层
啊,常见的错误,我总是把自己搞砸。
 
If语句的结构为:
 
(如有)
 
当然,忽略斜体文本。
 
您会注意到一个非常重要和关键的方面:它只允许一个命令。使用条件语句将允许许多命令,但If只允许一个。
 
不过,你可以绕过这个问题。将所有命令封装在程序中,如下所示:
 
  1. (progn
  2. <command one>
  3. <command two>
  4. ...
  5. <command banana>
  6. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:16:08 | 显示全部楼层
Progn正确地包装了多个表达式,但我相信您可能可以这样绕过它:
 
  1. (if (or [var1] [var2] [var3])
  2. (command "circle" "0,0" "25" "circle" "0,0" "50" "circle" "0,0" "75"
  3.         "circle" "0,0" "100""circle" "0,0" "125""circle" "0,0" "150"
  4.         "circle" "0,0" "175""circle" "0,0" "200""circle" "0,0" "225"
  5.         "circle" "0,0" "250"))

 
PS>您不需要指定(=[var1]t)
 
如果[var1]持有除nil以外的任何值,它将返回T。
 
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:32:26 | 显示全部楼层
这里有更多关于Progn的帮助
 
http://www.cadtutor.net/forum/showpost.php?p=173196&postcount=10
回复

使用道具 举报

17

主题

34

帖子

17

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-6 15:46:16 | 显示全部楼层
魔术
 
谢谢你们。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 00:06 , Processed in 0.562812 second(s), 64 queries .

© 2020-2025 乐筑天下

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