乐筑天下

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

[综合讨论] 或声明无效

[复制链接]

3

主题

9

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 23:38:02 | 显示全部楼层 |阅读模式
我制作了这个脚本来调整矩形过渡管道上的扩展,但它不想对我起作用。如果我保持简单,去掉“或”Ductmate 35“部分,一切都很好,但为了使其工作,我需要Or语句。
 
无论如何,这是剧本。。。
 
  1. select item.cid
  2. case 2
  3.         dim extin = item.dim[6].numvalue
  4.         dim extout = item.dim[7].numvalue
  5.         dim con1 = item.connector[1].value
  6.         dim con2 = item.connector[2].value
  7.        
  8.         if ( con1 = ("TDC" or "Ductmate 35") ) and
  9.         (extin < 2 ) then
  10.         item.dim[6].value = 2
  11.         end if
  12.         if ( con2 = ("TDC" or "Ductmate 35") ) and
  13.         (extout < 2 ) then
  14.         item.dim[7].value = 2
  15.         end if
  16.         if ( con1 <> ("TDC" or "Ductmate 35") ) and
  17.         (extin < 0.5 ) then
  18.         item.dim[6].value = 0.5
  19.         end if
  20.         if ( con2 <> ("TDC" or "Ductmate 35") ) and
  21.         (extout < 0.5 ) then
  22.         item.dim[7].value = 0.5
  23.         end if
  24.         item.update()
  25. end select

 
有人能发现这个问题吗?我希望这是一个令人尴尬的简单。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 00:06:13 | 显示全部楼层
在lisp中,你需要另一对刹车,我认为在这里也是一样的,如果(。。。。。。。。。
回复

使用道具 举报

3

主题

9

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-7 00:09:33 | 显示全部楼层
你的意思是它应该看起来像这样吗?
 
  1. if ( con1 = ("TDC" or "Ductmate 35") ) and
  2. [color="red"]((extin < 2 ))[/color] then
  3. item.dim[6].value = 2
  4. end if

 
我不认为把一些东西放在两组括号((X))中会改变语句的逻辑。我试着这么做只是为了安全,没有任何变化。
 
谢谢你的努力
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-7 00:31:57 | 显示全部楼层
不要用这种类型的代码方法编程。试试这个
 
  1. if (( con1 = ("TDC" or "Ductmate 35") ) and [color=red](extin < 2 ))[/color] then
回复

使用道具 举报

3

主题

9

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-7 00:38:29 | 显示全部楼层
谢谢你的提示。这实际上看起来好多了,我把脚本改成了同样的格式。不幸的是,它没有解决这个问题,但我想我知道发生了什么。
 
看看这两段代码。。。
 
  1. if ( con2 = ("TDC" or "Ductmate 35") ) and
  2.         (extout < 2 ) then
  3.         item.dim[7].value = 2
  4.         end if
  5. ;;;which is followed by...
  6. if ( con2 <> ("TDC" or "Ductmate 35") ) and
  7.         (extout < 0.5 ) then
  8.         item.dim[7].value = 0.5
  9.         end if

 
我认为or语句可能有效,但我还有第二行代码,它应该处理如果con2不等于TDC或Ductmate 35会发生什么。我没有考虑到无论连接器是TDC还是Ductmate 35,这一说法都是正确的,因为它不能同时是TDC和Ductmate 35。我可能应该把它写成一个“和”的陈述。
 
不过,这需要一段稍微粗一点的代码。你知道我怎么用else语句来表达这个吗?我尝试了一些变体,但不断出现无法理解/修复的错误。
 
这就是我的脚本现在的样子。。。
 
  1. select item.cid
  2. case 2
  3.         dim extin = item.dim[6].numvalue
  4.         dim extout = item.dim[7].numvalue
  5.         dim con1 = item.connector[1].value
  6.         dim con2 = item.connector[2].value
  7.        
  8.         if (( con1 = ("TDC" or "Ductmate 35")) and (extin < 2 )) then
  9.         item.dim[6].numvalue = 2 elseif
  10.         extin < 0.5 then
  11.         item.dim[6].numvalue = 0.5
  12.         end if
  13.         if (( con2 = ("TDC" or "Ductmate 35")) and (extout < 2 )) then
  14.         item.dim[7].numvalue = 2 elseif
  15.         extout < 0.5 then
  16.         item.dim[7].numvalue = 0.5
  17.         end if
  18.         item.update()
  19. end select

 
你能在最后一个脚本中发现语法错误吗?
 
顺便说一句,谢谢你迄今为止的帮助。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 04:02 , Processed in 0.637808 second(s), 73 queries .

© 2020-2025 乐筑天下

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