RUTA как выполнить блок в зависимости от условия

1

У меня есть простой вопрос Руты.

В примере, взятом из tools.ruta.book.pdf

Параграф {IF (keywordAmount> 5) → MARK (KeywordParagraph)};

возможно ли вместо выполнения только одного оператора выполнить либо блок, который был определен ранее, либо функцию?

  • 0
    Просто я правильно понимаю ваш вопрос: оператор выполнения относится к действию, созданию аннотации, и вы хотите выполнить несколько действий, блоков или функций, если правило может успешно соответствовать?
  • 0
    Я хочу вместо вызова MARK написать что-то вроде: Paragraph {IF (kewordAmount> 5) -> execute_block_x)}; Рута поддерживает этот синтаксис?
Теги:
uima
ruta

1 ответ

0

UIMA Ruta предлагает различные действия для различных задач. Действия CALL и EXEC могут применять сценарии, блоки и механизмы анализа.

Действие CALL обычно используется, когда дополнительные правила должны применяться в случае соответствия правила. Аргумент действия указывает либо на дополнительный файл сценария, либо на файл сценария (который может быть одним и тем же), за которым следуют имена блоков (с точками). Поэтому вы можете определить разные блоки во внешнем файле сценария, которые вызываются отдельно основным файлом сценария. В примерах в документации упоминается в большинстве случаев что-то вроде Document{->CALL(AnotherScript)}; , но это тоже нормальное правило. Действие может использоваться в любых правилах в элементах правил с любыми условиями.

Например, вы упомянули в своем вопросе, может быть, вам что-то вроде следующего интересно:

Параграф {IF (kewordAmount> 5) → CALL (MyScript.BlockX))};

Имейте в виду, что BlockX выполняется для каждого соответствия элемента правила (для каждого абзаца, который выполняет условие), и только в контексте согласованного диапазона элемента правила (только в этих абзацах).

Действие EXEC обычно используется при применении дополнительного механизма анализа, поскольку действие CALL разумно для настроек фильтрации.

Если необходимо выполнить дополнительные функции в случае соответствия правила, то может быть добавлено дополнительное действие на язык, обеспечивающий функциональность, или механизм внешнего анализа, который решает задачу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню