On 15/02/2012 18:36, shawn wrote:
yeah, I have thought about it. But if I use function, I have to write
three
for loops. like:
/*function Boolean findSubject(Request request) {
Pointer sPointer = request.getSubjectPath();
Pointer aPointer = request.getAuthorTable();
for( int i = 0; i< p.length; i++ ) {
for( int j = 0; j< p[i].length; j++) {
for( Iterator iter = aPointer.iterator(); iter.hasNext(); )
// if..else
}
}
}*/
I haven't tried it, but something like this might work from a pure rules
perpsective:
$i : Object() from sPointer[]
$j : Object() from $i // I think this will instance of, checking it's a
array and thus iterate over it
$p : Object( this == $j ) from aPointer
But as that is create a Rete evaluation tree, it won't be as efficient
as a simple for loop. But would make an interesting test.
Mark
sPointer is a int[][]; aPointer is a ArrayList. I need to find which element
in aPointer has the same value in sPointer.
If I use function, I think it the efficiency is not so good. Do you have any
other ideas?
--
View this message in context:
http://drools.46999.n3.nabble.com/rule-with-array-tp3747680p3747895.html
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users