我尝试将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并将其传递给另一个函数?
提前感谢。
答案 0 :(得分:1)
规则不是函数(或方法),也不“返回”值或对象。右侧只是Java代码。您可以调用静态方法,但坚持使用正确的Java语法:
Person p = new Person(ServiceLongDong.sayHello(),
person.age, person.name);
ServiceLongDong.sayHello();
ServiceLongDong.finish(x);
如果ServiceLongDong是一个类,那么这不是正确的Java:
... = ServiceLongDong().sayHello();