所有,我可以在规则主体中运行多个修改吗?还是只能运行一个?
您可以在规则的pre
块中定义任意数量的操作。您可以在规则的操作块中拥有任意多个操作(只需将操作块用花括号括起来)。例如,
rule first_rule {
select when pageview ".*" setting ()
pre {
notify_one = defaction() { notify("notify_one", "First defaction"); };
notify_two = defaction() { notify("notify_two", "Second defaction"); };
}
{
notify_one();
notify_two();
}
}
所以我认为你的问题的答案是肯定的
你的问题有点令人困惑,但我会试一试。
运行defaction
定义的操作就像运行系统定义的操作。
如果你想在一个规则中运行多个操作,你需要像这样将它们包装在{}中:
rule foo {
select when pageview ".*"
{
notify("cheese", "brie");
notify("apple", "golden delicious");
}
}
我记得deffaction有一个隐式的,可选的'pre'部分,后面跟着操作。如Sam所说,要包含多个操作,您需要{}。
act1 = defaction() {
{
notify("Defaction Demo", "<ul id='demo_id'></ul>");
append("#demo-id", "<li>cheese: brie</li>");
append("#demo-id", "<li>apple: golden delicious</li>");
}
};
结果是defaction() { { ... } };
,但如果你想在一个defation中有多个操作,则需要额外的花括号。
参见http://docs.kynetx.com/docs/Defaction