Drools/Scala - 在 DRL 中创建 var/val
Drools/Scala - Create var/val inside DRL
我正在尝试将 Drools 与 Scala 结合使用,我想知道是否可以调用事件链并在函数具有 return 时创建 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 并将其传递给另一个函数?
提前致谢。
规则不是函数(或方法),也不是 "return" 值或对象。右侧只是 Java 代码。您可以调用静态方法,但要坚持正确的 Java 语法:
Person p = new Person(ServiceLongDong.sayHello(),
person.age, person.name);
ServiceLongDong.sayHello();
ServiceLongDong.finish(x);
这不正确Java 如果 ServiceLongDong 是 class:
... = ServiceLongDong().sayHello();
我正在尝试将 Drools 与 Scala 结合使用,我想知道是否可以调用事件链并在函数具有 return 时创建 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 并将其传递给另一个函数?
提前致谢。
规则不是函数(或方法),也不是 "return" 值或对象。右侧只是 Java 代码。您可以调用静态方法,但要坚持正确的 Java 语法:
Person p = new Person(ServiceLongDong.sayHello(),
person.age, person.name);
ServiceLongDong.sayHello();
ServiceLongDong.finish(x);
这不正确Java 如果 ServiceLongDong 是 class:
... = ServiceLongDong().sayHello();