3

すべて、ルールの本文で複数の排便を実行できますか?または、1つだけ実行できますか?

4

3 に答える 3

3

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();
  }
}

したがって、あなたの質問に対する答えはイエスだと思います。

于 2011-04-07T06:08:06.143 に答える
2

あなたの質問は少し混乱していますが、私はそれを実行します。

で定義されたアクションを実行するdefactionことは、システム定義のアクションを実行するのと同じです。

ルールで複数のアクションを実行する場合は、次のように {} でラップする必要があります。

rule foo {
  select when pageview ".*"
  {
    notify("cheese", "brie");
    notify("apple", "golden delicious");
  }
}
于 2011-04-07T06:09:55.740 に答える
1

デファクションには暗黙のオプションの「前」セクションがあり、その後にアクションが続くことを思い出すようです。サムが言うように、複数のアクションを含めるには {} が必要です。

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() { { ... } };はうまくいきますが、デファクションで複数のアクションが必要な場合は、追加の中括弧が必要です。

http://docs.kynetx.com/docs/Defactionも参照してください。

于 2011-04-07T16:18:30.057 に答える