Lorsque vous définissez une variable, utilisez la syntaxe ILOG ® Rule Language.
Procédure
- Pour définir une variable de condition de classe simple, utilisez la syntaxe suivante dans la partie condition de la règle:
variable : ClassName();
Il définit une variable de type ClassName
. Cette variable n'est
jamais Null et sa valeur apparaît dans le tuple d'instances de règle. Sa portée est la règle entière.
- Pour définir une variable simple dans une condition, utilisez la syntaxe suivante dans la partie test d'une condition:
variable : <value>
Pour utiliser cette syntaxe dans une condition de classe, suivez le modèle suivant: ClassName (variable :
<value>)
. Pour utiliser cette syntaxe dans une condition d'évaluation, suivez le modèle suivant: evaluate (variable : <value>)
. Elle définit une variable dont le type
est celui de la valeur. La valeur de la variable peut être Null. La portée de cette variable dépend de la condition dans laquelle elle est
définie : si la variable est définie dans une condition existentielle, sa portée
est limitée à cette condition. Si la variable est définie dans un autre
type de condition, sa portée est la règle entière.
- Pour définir une variable simple dans la partie action de la règle, utilisez la syntaxe suivante:
int variable = <value>;
Elle définit une variable. La portée de la variable suit les règles de portée du langage Java™ .
Exemple
Dans cet exemple, les variables account et contract font référence à des
objets dans la mémoire de travail, objets dont l'un est de la classe BOM
Account et l'autre, de la classe BOM Contract. La variable balance est définie comme le solde d'un compte dans la partie
condition du code. De même, la variable
expiration est définie comme la date d'expiration
du contrat. La variable b est un exemple de variable définie
dans la partie action de la règle.
when {
account: Account(balance : getBalance());
contract: Contract(expiration : getExpirationDate());
}
then {
int b = balance;
System.out.println(contract + expiration);
System.out.println(account + b);
}
Cette règle génère la liste de toutes les instances disponibles
de chaque contrat avec sa date d'expiration, et de chaque compte avec son
solde.