llList2String
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
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.
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: string llList2String( list src, integer index );188 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a string that is at index in src.
• list | src | – | List containing the element of interest. | |
• integer | index | – | Index of the element of interest. |
index supports negative indexes.
If index describes a location not in src then null string is returned.
If the type of the element at index in src is not a string it is typecast to a string.
Specification
Index | Positive | Negative |
---|---|---|
First | 0
|
-length
|
Last | length - 1
|
-1
|
Indexes
- Positive indexes count from the beginning, the first item being indexed as
0
, the last as(length - 1)
.
- Negative indexes count from the far end, the first item being indexed as
-length
, the last as-1
.
Caveats
- If index is out of bounds the script continues to execute without an error message.
- When using this function to typecast a list element to a string it will truncated float based types to 6 decimal places.
Examples
//This code demonstrates the differences in typecasting in LSL (and demonstrates how to use the llList2* functions).
// Best viewed in Chat History (ctrl-h)
default
{
state_entry()
{
list my_list = ["a", "0xFF", "0xFF.FF", "1.0e3", 1, 2.0, <1,2,3>, <1,2,3,4>, llGetOwner()];
integer i = 0;
integer end = llGetListLength(my_list);
for (; i<end; ++i)
{
llOwnerSay("string=" + llList2String(my_list,i)
+ "\n integer=" + (string)llList2Integer(my_list,i) + " OR " +(string)((integer)llList2String(my_list,i))
+ "\n float=" + (string)llList2Float(my_list,i) + " OR " +(string)((float)llList2String(my_list,i))
+ "\n vector=" + (string)llList2Vector(my_list,i) + " OR " +(string)((vector)llList2String(my_list,i))
+ "\n rot=" + (string)llList2Rot(my_list,i) + " OR " +(string)((rotation)llList2String(my_list,i))
+ "\n key=" + (string)llList2Key(my_list,i) + " OR " +(string)((key)llList2String(my_list,i)) );
}
}
}
Notes
- If you wish to extract a string from a list that you know will contain only a single item (for example if you extract a single entry from a list using llList2List()), then instead of using
llList2String(myList, 0)
you may wish to considering using the more efficient(string)myList
as it will produce the same result for single-entry lists with less memory usage due to eliminating a function-call. - To convert a string of hexadecimal notation to integer, call llList2Integer and it will automatically cast the value as decimal integer. To convert that integer back to a string of hexadecimal notation, use a user function like hex.
See Also
Functions
• | llDumpList2String | |||
• | llGetListEntryType | |||
• | llList2Float | |||
• | llList2Integer | |||
• | llList2Key |
Articles
• | Negative Index |