我正在尝试使用简单的规则。
我们可以使用 easy-rules 执行 if-else
规则吗?
我已经检查了 ActivationRuleGroup
和 ConditionalRuleGroup
,但似乎只有 if
的。
最佳答案
所有规则都是if-then,没有其他;这是一种不同的思维方式。规则并不意味着取代您在普通源代码中看到的任何逻辑。它们最适合类似于长 switch-case 逻辑或参数驱动逻辑的东西。所得税表格是参数驱动用例的一个示例。
如果您需要根据一个事实的值执行三项操作,例如:
if age < 16
action: discount = 15%
else if age >= 16 and age <= 65
action: discount = 0%
else
action: discount = 20%
然后你只需编写 3 条规则:
when age < 16
action: discount = 15%
when age >= 16 and age <= 65
action: discount = 0%
when age > 65
action: discount = 20%
复合规则用于处理规则组。
ConditionalRuleGroup
有一个“主要”规则,当其计算结果为 true
(已触发)时,将触发该组中的其余规则,否则该组将被触发已跳过。
我使用 UnitRuleGroup
进行类似表单的验证。表单中的所有数据都会放入事实中,并触发验证规则。如果任何一个规则为 false,则整个组返回 false,并且表单被视为无效。
关于java - easy-rules:有 if-else 规则吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031298/