Difference between revisions of "LlGetListLength"

From Second Life Wiki
Jump to navigation Jump to search
Line 8: Line 8:
|caveats
|caveats
|constants
|constants
|examples
|examples=
<Pre>
default
{
    state_entry()
    {
        list l = ["one", "two", "three"];
        integer i = llGetListLength(l);
        llOwnerSay("there are " + (string)i + " entries in the list";
    }
}
</Pre>
|notes=A faster and lighter (in bytecode) way to determine the length of a script is to do a not-equals compare with a null list. This works because the list not-equals compare returns the difference between the lengths.
|notes=A faster and lighter (in bytecode) way to determine the length of a script is to do a not-equals compare with a null list. This works because the list not-equals compare returns the difference between the lengths.
<pre>
<pre>

Revision as of 05:33, 27 September 2007

Summary

Function: integer llGetListLength( list src );
0.0 Forced Delay
10.0 Energy

Returns an integer that is the number of elements in the list src.

• list src

Examples

default
{
    state_entry()
    {
        list l = ["one", "two", "three"];
        integer i = llGetListLength(l);
        llOwnerSay("there are " + (string)i + " entries in the list";
    }
}

Notes

A faster and lighter (in bytecode) way to determine the length of a script is to do a not-equals compare with a null list. This works because the list not-equals compare returns the difference between the lengths.

list in;
integer len_in = llGetListLength(in);
integer flen_in = (in != []);
//flen_in and len_in will be the same

integer neg_len_in = -llGetListLength(in);
integer fneg_len_in = ([] != in);
//fneg_len_in and neg_len_in will be the same

See Also

Functions

•  llListStatistics LIST_STAT_NUM_COUNT – Returns the number of integers and floats in the list
•  llStringLength Returns the number of characters in a string.

Deep Notes

Source

'linden\indra\lscript\lscript_library\lscript_alloc.cpp' @ lsa_cmp_lists
'linden\indra\lscript\lscript_execute\lscript_execute.cpp' @ list_list_operation

Signature

function integer llGetListLength( list src );