ListXnotY

From Second Life Wiki
Revision as of 15:54, 12 July 2008 by Chaz Longstaff (talk | contribs) (New page: {{LSL Header}} __NOTOC__ <div id="box"> == Function: list ListXnotY(list {{LSL Param|lx}}, list {{LSL Param|ly}}); == <div style="padding: 0.5em;"> Show what x list has that y ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Function: list ListXnotY(list lx, list ly);

Show what x list has that y list is missing.

<lsl> list ListXnotY(list lx, list ly) {// return elements in X list that are not in Y list

   list lz = [];
   integer x;
   for (x = 0; x < llGetListLength(lx); x++) {
       if (~llListFindList(ly,llList2List(lx,x,x))) {
           ;
       }
       else {
           lz = lz + llList2List(lx,x,x);
       }
   }
   return lz;

} </lsl>


Example:

<lsl> list l1 = ["a","b","c","d"]; list l2 = ["a","1","b","2","c","3"];

default{

  state_entry() {
     llSay(0, "X list has this in it, but Y list doesn't: " + llList2CSV(ListXnotY(l1,l2)) );
     //will say: d
  }

} </lsl>

Posted with the kind permission of Very Keynes, which originated this script June 2007 in the SL scripters forum http://forums.secondlife.com/showthread.php?t=194138