流口水:包含和成员之间的区别

Pin*_*ino 3 drools

我正在阅读Drools 6.4.0 文档。我不确定是否理解containsmemberof运算符之间的区别:两者都适用于集合,似乎唯一的区别是contains期望包含的对象在右侧,而memberof期望它在左侧,所以它们是等效的,但我恐怕我错过了一些东西。

小智 5

这个例子取自Laune的回答: Drools: Match local string from array in LHS of Rule

rule "ruleY"
when
    Data( $los: listOfStrings )
    MyObject( string memberOf $los ) 
then
    //do stuff
end
rule "ruleY"
when
    MyObject( $s: string ) 
    Data( listOfStrings contains $s )
then
    //do stuff
end
Run Code Online (Sandbox Code Playgroud)

它们是互补的。根据您拥有的数据以及表达事物的最合乎逻辑的方式来使用其中之一。