0

最近在学习drools,我觉得是个很棒的软件。Drools的核心思想是drl文件。我们应该写规则文件,例如:

 rule "name"
   when
   then
 end

而 when 部分取决于实体的属性。例如:现在我有一个用户类,可以在我的规则中使用。

 public  class User {
        private int money; 
        private Date time;
            //getter and setter.....   
        }

现在我需要知道一个用户在 2012-09-11 和 2013-01-01 之间的钱,如果他的钱>100 那么按照我的逻辑,流口水怎么办?

4

2 回答 2

2

这可以使用以下规则轻松实现:

rule 'Some Rule'
    $u: User( time > '11-sep-2009', time < '01-jan-2013', money > 100)
then
    //do your logic here. $u references the User object
end

希望能帮助到你,

于 2013-02-22T09:36:41.280 回答
0

您可以在 DRL 文件中编写一个函数,如果用户在 2012 年 9 月 11 日和 2013 年 1 月 1 日之间的钱大于 100,则该函数将返回 true。您可以在使用 eval 的规则的一部分时调用此函数并将您的逻辑写入然后 part.Writing 函数在 DRL 文件中不是一个好主意!

于 2013-02-21T16:41:47.933 回答