ListXandY

From Second Life Wiki
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 ListXandY(list lx, list ly);

This function examines two lists, and returns a new list composed of the elements that both lists have in common.

See also: Lists

<lsl> list ListXandY(list lx, list ly) {// return a list of elements common to both lists

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

} </lsl>


Example:

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

default{

  state_entry() {
     llSay(0, "The two lists have the following items in common: " + llList2CSV(ListXandY(l1,l2)) );
     //will say: a, b, c
  }

} </lsl>

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