Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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:如何为变量赋值;从「;使用PackageDescr生成规则时的预定义方法?_Drools - Fatal编程技术网

Drools:如何为变量赋值;从「;使用PackageDescr生成规则时的预定义方法?

Drools:如何为变量赋值;从「;使用PackageDescr生成规则时的预定义方法?,drools,Drools,如何使用PackageDescr在规则中生成类似的内容 $var: Number (doubleValue > 100 ) from myPredefinedFunction() 我尝试了以下方法: PatternDescr pt = new PatternDescr("Number","$var"); RelationalExprDescr ex = new RelationalExprDescr(">", false

如何使用PackageDescr在规则中生成类似的内容

$var: Number (doubleValue > 100 ) from myPredefinedFunction()

我尝试了以下方法:

PatternDescr pt = new PatternDescr("Number","$var");
RelationalExprDescr ex = new RelationalExprDescr(">", false, null, new ExprConstraintDescr("myPredefinedFunction()"), new ExprConstraintDescr("100"));
pt.addConstraint(ex);
但我得到的是:

 $var : Number( myPredefinedFunction() > 100 )  

您正在尝试将
MyPredefinedFunction()
设置为约束。约束是括号之间drools声明的一部分,例如
MyObject(foo==“bar”)
。。。
foo==“bar”
是一个约束

相反,您需要使用该方法设置源。这是声明的“来源”部分。此方法获取子类的一个实例——可能是此特定场景的一个实例

(或者,您可能需要
setResource
而不是
setSource
。使用仅限内部的API的问题在于它们没有文档记录,可能会在未经通知的情况下更改。我强烈建议不要走这条路。)