Thanks for your response Wolfgang, Yes, getMyUnits() returns an ArrayList<Unit>; I don't believe this likely to be the problem since I have these in other rules that are functioning. More debugging shows that the error is occurring in routine Value.stringValue. Do you see anywhere where I am trying to get the string value of a list?
Hunter On Mon, Mar 12, 2012 at 9:38 AM, Wolfgang Laun <wolfgang.l...@gmail.com>wrote: > Are you sure that > (?*bwapi* getMyUnits) > returns a list? > > Jess' foreach isn't quite as tolerant as for in Java 1.5 and later. > You may have to return an java.util.iterator. > > -W > > > On 10/03/2012, Hunter McMillen <mcmil...@gmail.com> wrote: > > I am receiving the error in the subject line when one of my rules is > > firing. I can't seem to find any other forum posts about it, here is my > > rule: > > > > (defrule build-supply-depot > > (minerals (value ?x&:(> ?x 100))) > > => > > (try > > (foreach ?u (?*bwapi* getMyUnits) > > (if (= (?u getTypeID) ?*SCV_ID*) then > > (bind ?p (call get-next-build-tile())) > > (call ?*bwapi* drawCircle ?p.x ?p.y 100 111 FALSE FALSE) > > (call ?*bwapi* build (?u getID) ?p.x ?p.y > > (UnitType$UnitTypes.Terran_Supply_Depot ordinal)) > > (break))) > > catch > > (printout t (call ?ERROR toString) crlf) > > ) > > ) > > > > and here is the exact error message: > > > > while executing (foreach ?u (call ?*bwapi* getMyUnits) > > (if (= (call ?u getTypeID) ?*SCV_ID*) > > then > > (bind ?p (call get-next-build-tile )) > > (call ?*bwapi* drawCircle ?p.x ?p.y > 100 > > 111 FALSE FALSE) > > (call ?*bwapi* build (call ?u getID) > > ?p.x ?p.y (UnitType$UnitTypes.Terran_Supply_Depot ordinal)) > > (break))). > > > > Message: '' is a list, not a string. > > > > But the error doesn't give me a line number. > > > > Any help would be appreciated. > > Thanks, > > Hunter McMillen > > > > -------------------------------------------------------------------- > To unsubscribe, send the words 'unsubscribe jess-users y...@address.com' > in the BODY of a message to majord...@sandia.gov, NOT to the list > (use your own address!) List problems? Notify owner-jess-us...@sandia.gov. > -------------------------------------------------------------------- > >