限制和排错
自定义逻辑写错时,通常是关键字大小写、标签不存在、范围简写、括号或字符串引号导致的。
先检查这 6 件事
| 问题 | 正确写法 |
|---|---|
| 关键字写成大写 | 用 if、then、show |
| 范围简写 | 用 Q1~Q5,不要写 Q1~5 |
| 字符串没加引号 | 用 "优秀" |
| 判断相等用单等号 | 用 == |
| 括号没闭合 | AND(Q1A1,Q2A1) |
| 标签写错 | 以右侧预览区标签为准 |
当前实现限制
if ... then validate ...不建议使用if ... then assignment ...不建议使用branch from/to使用 DSL 标签或END,不要写内部变量mutex、shuffle、random show可能出现在提示里,但不建议作为正式规则使用- 范围写法必须两端完整,例如
Q1A1~Q1A4
条件赋值怎么写
不要写:
if Q1A1 then assignment Q2 with 100
建议写:
assignment Q2 with IF(Q1A1,100,"")
条件校验怎么写
不要写:
if Q1A1 then validate Q2 with IF(Q2>100,"不能超过100","")
建议写:
validate Q2 with IF(AND(Q1A1,Q2>100),"不能超过100","")
排错步骤
1. 先只保留一条规则
把其他规则前面加 # 注释掉,只验证当前规则。
2. 先验证条件
把复杂条件拆简单,例如先测:
if Q1A1 then show Q2
确认没问题后,再加 AND、OR。
3. 再验证动作
先用 show Q2 这类最简单动作确认条件能触发,再换成 branch、assignment 或 validate。