Difference between revisions of "LlGetListEntryType"

From Second Life Wiki
Jump to navigation Jump to search
m (small fix with return)
m (changed that the loop of the example script goes the other way)
Line 51: Line 51:
             1];
             1];


         integer index = llGetListLength(listOfStuff);
         integer index = ~llGetListLength(listOfStuff);


         // start with (length - 1) and end with 0
         // start with -length and end with -1
         while (--index)
         while (++index)
         {
         {
             integer type = llGetListEntryType(listOfStuff, index);
             integer type = llGetListEntryType(listOfStuff, index);

Revision as of 07:17, 6 October 2012

{{LSL_Function |inject-2= |func_id=194|func_sleep=0.0|func_energy=10.0 |func=llGetListEntryType|return_type=integer |p1_type=list|p1_name=src |p2_type=integer|p2_name=index |func_footnote |func_desc |return_text=that is the type of the entry index in src. |spec |caveats=

  • If a vector is stored in a list as "<7,5,0>" (as a string type, as opposed to <7,5,0> which is a vector type), its type will be returned as TYPE_STRING, not TYPE_VECTOR. The same applies for "1" being returned as a string instead of an integer, etc. There is no easy way to guess what the type should be from a string value. The users intent may not be obvious

|constants=

Type Description
TYPE_INTEGER 1 integer
TYPE_FLOAT 2 float
TYPE_STRING 3 string
TYPE_KEY 4 key
TYPE_VECTOR 5 vector
TYPE_ROTATION 6 rotation
TYPE_INVALID 0 none

|examples= <lsl> string get_list_entry_type_info(integer inputInteger) {

   if (inputInteger == 1)
       return "integer";

   else if (inputInteger == 2)
       return "float";

   else if (inputInteger == 3)
       return "string";

   else if (inputInteger == 4)
       return "key";

   else if (inputInteger == 5)
       return "vector";

   else if (inputInteger == 6)
       return "rotation";

// else

       return "