variables

variables キーワードは、変数を宣言します。

目的

このキーワードは、ルール・セットに関連した変数を宣言するために使用します。

コンテキスト

パッケージ

構文

variables { 
   typeName variableName [= value];
   ...
} 

説明

パッケージにアタッチされた変数を宣言できます。その後、ルール、タスク、および関数、またその他の変数初期化でその変数を参照できます。 パッケージに定義された変数は、完全修飾名で参照するか、use キーワードを使用してインポートすると、別のパッケージから使用できます。デフォルト・パッケージは、他のパッケージを使用することもできます。

注:

完全修飾名は、変数のショート・ネームの前にパッケージ名が付加されたものです。

use ステートメントは、IRL コード内の import ステートメントと同じ場所に配置されます。

package pricing
{
  variables {
     Customer customer;
  }
  rule isEligible
  {
    when {
    ...
    }
    then {
      out.println("Customer is " + customer.name);
    }
  }
}

package europe.pricing
{
  use pricing.*; 

  ruletask main
  {    
    initialaction {
      out.println("Customer is " + customer.name); customer is the variable of 
the pricing package.
    }
    body {
     isEligible
    } 
  }
}

pricing パッケージは、customer 変数を定義しています。この変数は、pricing パッケージに属するルールで使用されています。 europe.pricing パッケージは、pricing パッケージを使用しています。 そのため、すべての pricing アーティファクトは、europe.pricing パッケージで可視です (例えば、customer 変数)。