流口水:如何在列表中的所有元素上应用规则并找到满足给定条件的子集元素



我对流口水相对较新,我正在拉头发以达到以下情况。

我有一个日期列表,假设10个日期。现在,我必须在这些元素之间应用一组规则,以找到满足所有规则的4个日期的匹配集。

假设以下是规则。我如何在流口水中迭代它,并在提供10个日期中找到四个日期。

date2> date1 + (6W - 4D)
date3> date2 + (4W - 4D)
date4 > date3 + (6M - 4D)
date4 > date1 + (4Y - 4D)

我建议您创建一个知道如何使用日期进行算术的帮助人类。

public class Helper {
    public static Date calculate(Date source, String expression) {
        //Do the magic
    }  
}

然后,您可以在规则中使用此助手类,如下:

rule "Find subset"
when
  $d1: Date()
  $d2: Date(this > Helper.calculate($d1, "6W-4D"))
  $d3: Date(this > Helper.calculate($d2, "4W-4D"))
  $d4: Date(
    this > Helper.calculate($d1, "4Y-4D"), 
    this > Helper.calculate($d3, "6M-4D")
  )
then
  //Do whatever you need 
end

希望它有帮助,

相关内容

  • 没有找到相关文章