ルール変数
変数を作成して、ルールの構成を容易にし、理解しやすくします。
ルール変数は、値を割り当てるための名前です。アクション・ルールの definitions 部分で変数を定義します。変数を宣言したルールの条件部分とアクション部分でのみ、その変数を使用できます。
ルール変数を使用すると、用語が簡略化されることでアクション・ルールの構築が容易になり、アクション・ルールを理解しやすくできます。
ルールを理解しやすくする方法
ルールの特定の部分が理解しにくいことがあります。例えば、次のルールは of という用語を使用して、ビジネス用語をチェーニングしています。
if the value of the shopping cart of a customer is less than $100 then...
ルール変数を使用すると、この単語のチェーンを短くすることができます。例えば、the cart という名前の変数を定義して、ビジネス用語 shopping cart と customer を表すことができます。
definitions set ‘the cart’ to the shopping cart of customer; if the value of ‘the cart’ is less than $100 then...
ルール変数ごとに 1 つのルール
変数の有効範囲は、その変数を宣言するルールです。変数の名前は、ルール内で固有でなければなりません。変数を定義した後は、ルールの任意の部分でその変数を使用できます。
次のルールでは、definitions 部分で変数 Smith を定義しています。この変数は、その後、ルールの if 部分と then 部分で使用されています。
definitions set Smith to a customer; if the category of Smith is Gold then apply 10 % discount to the shopping cart of Smith;
ルール変数がデータに一致しない場合
ルールには、アプリケーションがそのルールを呼び出したとき、いずれのデータも該当しないルール変数が定義されることがあります。例えば、クレジット・スコアが 200 以上のすべての借り手を対象とする 'low risk borrowers' という名前の変数を定義するとします。しかし、アプリケーションから提供されたデータに対してルールを実行したとき、このルール変数に一致する借り手が見つからない可能性があります。このような場合、ルール変数が条件として動作し、ルールは、そのルールの then 部分と else 部分にあるアクションを実行できません。詳しくは、ルール変数へのルール・アクションの依存を参照してください。
ルール変数名に関する制約事項
変数の名前には、次の文字は使用しないでください。
文字 | 説明 |
---|---|
TAB | タブ |
¥n | 改行 |
' | 単一引用符 |
" | 二重引用符 |
() | 左括弧と右括弧 |
/ | スラッシュ |
, | コンマ |
; | セミコロン |
単一引用符
ルール・エディターと変数名によっては、変数を単一引用符で囲むことが必要になる場合があります。
ルール・エディター | 説明 |
---|---|
Intellirule エディター | ルール変数の名前に 1 つ以上のスペースが含まれている場合、その変数を定義または使用するときは名前を単一引用符で囲む必要があります。変数名に 1 語のみが含まれている場合、引用符は省略可能です。 |
ガイド・エディター | ルール変数を定義または使用するとき、変数の名前を単一引用符で囲みません。ただし、ガイド・エディターでルールを作成した後で、Intellirule エディターを使用してそのルールを編集する場合は、1 つ以上のスペースを含むルール変数名を単一引用符で囲む必要があります。 |