Cláusula else con una sentencia de evaluación

Las reglas técnicas con una sentencia de evaluación en la parte de condición pueden tener una sentencia else opcional en la parte de acción.

Cuando la parte de condición de una regla finaliza con una sentencia de evaluación, la parte de acción de la regla puede incluir una cláusula else. La cláusula else es opcional. La última expresión de evaluación en la parte de condición actúa como discriminador, para elegir entre las ramas de ejecución then o else. Si la expresión de evaluación es true, se ejecuta la parte then; si es false, se ejecuta la parte else.

Si la regla finaliza con varias sentencias evaluate , sólo se utiliza la última para discriminar.

A continuación se muestra un ejemplo de una regla con una sentencia else :

rule myrule
{
  when
    {
      ?s : String(startsWith("Irl"));
      evaluate(?s.length() > 30);
    }
  then
    {
      out.println("Very long string");
    }
  else
    {
      out.println("String length is reasonable");
    }
};