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 変数)。