Definición de una variable

Al definir una variable, utilice la sintaxis del lenguaje de reglas ILOG ®.

Procedimiento

  • Para definir una variable de condición de clase simple, utilice la sintaxis siguiente en la parte de condición de la regla: variable : ClassName();

    Define una variable de tipo ClassName. Esta variable nunca es nula y su valor se muestra en la tupla de instancia de regla. El ámbito de esta variable es toda la regla.

  • Para definir una variable simple en una condición, utilice la sintaxis siguiente en la parte de prueba de una condición: variable : <value>

    Para utilizar esta sintaxis en una condición de clase, siga este patrón: ClassName (variable : <value>). Para utilizar esta sintaxis en una condición de evaluación, siga este patrón: evaluate (variable : <value>). Define una variable que tiene el tipo del valor. El valor de la variable puede ser nulo. El ámbito de esta variable depende de la condición en la que está definida: si la variable está definida en una condición existencial, su ámbito está limitado a esta condición. Si la variable se define en cualquier otro tipo de condición, su ámbito es toda la regla.

  • Para definir una variable simple en la parte de acción de la regla, utilice la sintaxis siguiente: int variable = <value>;

    Define una variable. El ámbito de la variable sigue las reglas de ámbito de lenguaje Java™ .

Ejemplo

En este ejemplo, las variables de cuenta y contrato hacen referencia a objetos de la memoria de trabajo, objetos de la clase Account BOM y objetos de la clase Contract BOM. El saldo se define como el saldo de una cuenta en la parte de condición del código. De forma similar, el vencimiento se define como la fecha de vencimiento del contrato. La variable b es un ejemplo de una variable definida en la parte de acción de la regla.

when {
   account: Account(balance : getBalance());
   contract: Contract(expiration : getExpirationDate());
}
then {
  int b = balance;
  System.out.println(contract + expiration);
  System.out.println(account + b);
}

Esta regla genera una lista de todas las instancias disponibles de cada contrato y su fecha de vencimiento, y cada cuenta y su saldo.