我正在尝试将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();