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

时间:2015-02-03 16:41:27

标签: scala drools

我尝试将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并将其传递给另一个函数?

提前感谢。

1 个答案:

答案 0 :(得分:1)

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

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

如果ServiceLongDong是一个类,那么这不是正确的Java:

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