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/045/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;
}
}