如何使用条件运算符向RackSystem添加palletracks?两种尝试均无效
在RackSystem模块中基于条件添加palletracks的问题

在RackSystem模块中,是否可以基于条件添加palletracks?我尝试过以下两种写法,但都无法生效:
第一种写法:
ABC == false ? { ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, ST14, ST15, ST16 } : {}
第二种写法:
if(ABC == false) { { ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, ST14, ST15, ST16 } } else {}
你这两种写法不符合RackSystem模块的语法规范,所以没法生效。可以试试下面这些正确的实现方式:
- 先定义集合变量再通过条件赋值
先声明一个空集合,再根据条件给它赋值,最后在模块配置里引用这个变量:
var palletTracks = {}; if(ABC == false) { palletTracks = { ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, ST14, ST15, ST16 }; }
- 调整条件表达式的语法结构
如果模块支持在配置中直接用条件表达式,可能需要去掉外层多余的大括号,或者把集合定义的大括号换成方括号(部分系统用方括号表示集合):
ABC == false ? [ ST1, ST2, ST3, ST4, ST5, ST6, ST7, ST8, ST9, ST10, ST11, ST12, ST13, ST14, ST15, ST16 ] : []
另外还要注意确认ABC变量的作用域是否正确,能不能在当前配置环境下被访问到,同时检查变量类型是否为布尔值,避免因类型不匹配导致条件判断失效。
内容的提问来源于stack exchange,提问作者Jahidul Hasan Razib
相关产品推荐
相关产品推荐

