более одной дефекации в организме? - PullRequest
3 голосов
/ 07 апреля 2011

Все, могу ли я запустить более одного осквернения в теле правила? или я могу запустить только один?

Ответы [ 3 ]

3 голосов
/ 07 апреля 2011

Вы можете определить столько действий в блоке 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();
  }
}

Поэтому я думаю, что ответ на ваш вопрос - да.

2 голосов
/ 07 апреля 2011

Ваш вопрос немного сбивает с толку, но я попробую.

Выполнение действий, определенных с помощью defaction, аналогично выполнению системных действий.

Если вы хотите запустить более одного действия в правиле, вам нужно заключить их в {} примерно так:

rule foo {
  select when pageview ".*"
  {
    notify("cheese", "brie");
    notify("apple", "golden delicious");
  }
}
1 голос
/ 07 апреля 2011

Кажется, я помню, что у дефекции есть неявный, необязательный раздел «pre», за которым следуют действия.Чтобы включить несколько действий, вам нужно {}, как говорит Сэм.

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

...