0

我正在尝试进行以下工作:

rule "userCount"
    when
        $user : User()
        $minutes : Integer()
            from accumulate(
                            MinutesPerUser( user == $user, $time : time) 
                            and Time(this == $time),
                            sum(1)
                           )
    then
        System.out.println( $minutes );
end

但似乎这and Time(this == $user)部分从来都不是真的。如果我删除那部分,我会得到一些 println 输出。

上面的代码有什么问题?

4

1 回答 1

0

不知道Java类之间的关系,很难说清楚。但从

 $user : User()
 //...
 and Time(this == $user),

很明显 Time 必须是 User 的超类,反之亦然:否则无法满足此约束。

我不知道你应该写什么,因为没有关于应该做什么的规范。

顺便说一句,sum(1)看起来很可疑,因为这会更好地表达count(1),产生相同的结果。

于 2014-11-10T18:50:48.873 回答