我拿了Fibanocci的例子并稍微修改了一下。它似乎仍然有效,但我不知道如何。这是我的规则。
rule "Recurse"
salience 10
when
f : Fibanocci(value == 0)
not Fibanocci(sequence == 0)
then
System.out.println(f.sequence + "/" + f.value);
insert(new Fibanocci(f.sequence - 1));
end
我得到以下输出:
50/0 49/0 48/0 47/0 46/0 45/0 ..等等
在我看来每次插入Fibanocci
的新实例时,它应该从50开始,但事实并非如此。
// here is my class, getter/setter skipped
public class Fibonacci {
private int sequence;
private long value;
public Fibonacci(final int sequence) {
this.sequence = sequence;
}
}
答案 0 :(得分:2)
这是一个简短的解释,为什么规则会像他们一样开火:
*)只有99%确定