3

我的全局块中有以下内容:

test = defaction(){
    if(5>10) then {
        notify("yes","yes");    
    }
}

然后我也有以下规则:

rule tester {
    select when pageview ".*"
    test();
}

我希望通知永远不会发生,因为 5 永远不会大于 10。但是,它在每一页上运行。我确信我做错了,虽然感觉是对的。

4

1 回答 1

2

谓词(例如if (5>10) then不是动作块的一部分。因此,在 a 中包含谓词defaction没有意义。您必须更像这样编写:

global {
    test = defaction(){
        notify("yes","yes");    
    }
}

rule tester {
    select when pageview ".*" setting ()
    if (5>10) then {
        test();
    }
}

构造实现与if...then构造相同的功能every:它包装动作块。

于 2011-03-29T13:44:58.883 回答