Weiß jemand, ob es eine Möglichkeit gibt, for-Schleifen in Drools zu verwenden?
Ich versuche, eine Liste von Zeichenfolgen zu durchlaufen, um zu sehen, ob eine der Zeichenfolgen einem Muster entspricht, z. B.
def listOfStrings = ['a','a.b','a.b.c']
for(String s:listOfStrings){
if(s matches "^a.b.*$"){
return true
}
}
Ich habe die folgende Regel auf der Grundlage der Dokumentation geschrieben, die ich finden konnte, aber ich glaube nicht, dass die Syntax korrekt ist
rule "Matcher"
when
TestClass : TestClass(($s matches "^a.b.*$") from listOfStrings, count($s))
then
TestClass.setResponse( "Condition is True !!" );
end
Ich finde es schwierig, eine gute Dokumentation über die drl-Sprache zu finden.
Ich wäre für jede Hilfe dankbar, die mir jemand geben kann.
Auf der Grundlage der vorherigen Antwort habe ich Folgendes versucht
rule "Matcher"
when
TestClass:TestClass(String( this matches "^a.b.*$" ) from listOfStrings)
then
TestClass.setResponse( "Condition is True !!" );
end
Jetzt erhalte ich jedoch folgende Fehlermeldung:
[43,197]: unknown:43:197 Unexpected token 'this'