Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在迭代子条件时,有没有办法打破drools中的循环_Drools - Fatal编程技术网

在迭代子条件时,有没有办法打破drools中的循环

在迭代子条件时,有没有办法打破drools中的循环,drools,Drools,我有一个客户的事实,它有许多股票的事实 我希望在ist匹配后打破项目循环 List<Stocks> stocks = new ArrayList<Stocks>(); stocks.add(new Stocks("Apple", 10, 100)); stocks.add(new Stocks("Google", 35, 28)); Customer customer = new Customer(); customer.setStocks(st

我有一个客户的事实,它有许多股票的事实

我希望在ist匹配后打破项目循环

List<Stocks> stocks = new ArrayList<Stocks>();
   stocks.add(new Stocks("Apple", 10, 100));
   stocks.add(new Stocks("Google", 35, 28));

   Customer customer = new Customer();
   customer.setStocks(stocks);
   customer.setCustId("ABC123");


   List<Stocks> stocks2 = new ArrayList<Stocks>();
   stocks2.add(new Stocks("Apple", 10, 100));
   stocks2.add(new Stocks("Google", 35, 28));
   stocks2.add(new Stocks("salesforce", 160, 40));

   Customer customer2 = new Customer();
   customer2.setStocks(stocks2);
   customer2.setCustId("ABC456");

   ksession.insert(customer);
   ksession.insert(customer2);
   ksession.fireAllRules();
结果/产出:

 Customer : ABC456
 Customer : ABC123
请建议

谢谢你的帮助


我正在考虑创建一个局部变量count,并通过增加值或在第一个实例中使用中断逻辑来修改子事实库存。

我在您的代码中看不到任何循环,因此我不知道如何中断一个循环…感谢您的回复,我想从collect if stock中断。item=“Apple”但是收集不是一个循环……你应该用“客户”和“库存”来描述你的问题,而不是用循环变量来描述。你的规则是:“对于每个有2个或更多库存项目且数量为2个或更多的客户:打印客户id。”请用这种方式描述你想要什么。
 Customer : ABC456
 Customer : ABC123