Drools/Scala-在DRL中创建var/val



我正在尝试将Drools与Scala一起使用,我想知道是否可以在函数返回时调用事件链并创建var/val。

以下是我正在尝试但被卡住的内容:

import com.models.*
import com.service.*
rule "First Fule"
when
    person:Person(name == 'aa')
then
    //Here should return a string
    //and i should set this string
    //something like:
    //var x = new Person(ServiceLongDong.sayHello(), person.age, person.name)
    //or var y = ServiceLongDong.sayHello();
    ServiceLongDong.sayHello();
    ServiceLongDong.finish(x);
end

是否可以创建varl/vals并将其传递给另一个函数?

提前感谢。

规则不是函数(或方法),也不会"返回"值或对象。右边只是Java代码。您可以调用静态方法,但要坚持正确的Java语法:

Person p = new Person(ServiceLongDong.sayHello(),
                      person.age, person.name);
ServiceLongDong.sayHello();
ServiceLongDong.finish(x);

如果ServiceLongDong是一个类,这就不可能是正确的Java:

... = ServiceLongDong().sayHello();

相关内容

  • 没有找到相关文章