0

こんにちは私は次のルールがDroolsでどのように解釈されるのか知りたいです

rule "test"
when
    condiction A
    or
    condiction B
    condiction C
then something
end

それは...ですか

  1. (AまたはB)およびC

  2. Aまたは(BおよびC)

  3. 2つのルールになります:a)。AおよびCb)。BとC

  4. 2つのルールになります:a)。a b)。BとC

ありがとうございました

4

1 に答える 1

2

Drools の演算子の優先順位は (大部分) Java 演算子の優先順位に従います。AND (&) は OR (|) の前に評価され、OR (|) は論理 AND (&&) の前に評価され、 OR は論理OR (||) の前に評価されます。

演算子の優先順位 ---->

& | && ||

Drools括弧を使用した明示的なオペランドのグループ化をサポートしているため、疑わしい場合はそれらを使用してください。そのまま、あなたの例では、評価順序は #2 に対応します。

A または (B および C)

この順序付けは、グループ化に基づいて 2 つのルールにコンパイルされます。

A
B and C

モデルによっては、これらのルールのいずれかが有効になる場合があります。

これはすべて、強く推奨されるDrools のドキュメントで説明されています。

于 2012-12-17T13:01:10.487 に答える