ListXneqY

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: integer ListXneqY(list lx, list ly);

Answers the question: is list X different from list Y?

Returns the number 1 if true, 0 if false

Note: requires also the function ListXnotY .

The opposite function is ListXequY .

See also: Lists

integer ListXneqY(list lx, list ly)
{
    if(lx == ly)
        return !(ListXnotY(lx,ly) == []);
    return TRUE;
}

Example:

list l1 = ["a","b","c","d", 1,2];
list l2 = ["a",1,"b",2,"c",3,"d"];
 
integer ListXneqY(list lx, list ly)
{
    if(lx == ly)
        return !(ListXnotY(lx,ly) == []);
    return FALSE;
}
 
list ListXnotY(list lx, list ly)
{// return elements in X list that are not in Y list
    list lz;
    integer n = llGetListLength(lx);
    while(n--)
	if ( !~llListFindList(ly,llList2List(lx,n,n)) )
	    lz += llList2List(lx,n,n);
    return lz;
}

default{
   state_entry() {
      llSay(0, "Are we different lists? " + (string)ListXneqY(l1,l2));
      //will say in this example: 1 , meaning yes.
   }
}

Posted with the kind permission of Very Keynes, who originated this script June 2007 in the SL scripters forum http://forums-archive.secondlife.com/54/e4/194138/1.html