我想在流氓规则的LHS(左手侧)中找出最少两个变量。 例如:
$variable1 : // Some value generation lines
$variable2 : // Some value generation lines
// This doesn't work
$minimumOfVariable1And2 : min($variable1,$variable2)
那么问题就是如何找到最低限度。感谢。
答案 0 :(得分:2)
一种方式:
when
FactA($a : a, ...)
FactB($b : b, ...)
FactC(c < Math.min($a, $b), ...)
then
...
另一种方式:
when
FactA($a : a, ...)
FactB($b : b, ...)
then
int c = Math.min($a, $b);
...
现在,当FactA和FactB属于同一类型时会变得有趣:
when
Assignment($a : a, ...)
Assignment(a < $a, ...)
// $a this the minimum
then
...
因为如果2个分配具有相同的a,则此规则将匹配两次(一次用于A1-A2,一次用于A2-A1)。