Difference between revisions of "LlList2Vector"

From Second Life Wiki
Jump to: navigation, search
m
Line 1: Line 1:
{{LSL_Function/negative index|true|index}}{{LSL_Function
+
{{LSL_Function/list/element|src|index|rotation|nc=*|return={{HoverLink|ZERO_VECTOR|<0.0, 0.0, 0.0>}}}} {{LSL_Function
 
|func_id=190|func_sleep=0.0|func_energy=10.0
 
|func_id=190|func_sleep=0.0|func_energy=10.0
 
|func=llList2Vector|return_type=vector|p1_type=list|p1_name=src|p2_type=integer|p2_name=index
 
|func=llList2Vector|return_type=vector|p1_type=list|p1_name=src|p2_type=integer|p2_name=index
|func_footnote=If the type of the entry at '''index''' in '''src''' is not a vector {{LSLG|ZERO_VECTOR|<0.0, 0.0, 0.0>}} is returned (or if '''index''' is out of range).<br/> In this case use: ({{LSLG|vector}}){{LSLG|llList2String}}(src, index);
+
|func_footnote
 
|func_desc
 
|func_desc
 
|return_text=that is at '''index''' in '''src'''.
 
|return_text=that is at '''index''' in '''src'''.
 
|spec
 
|spec
|caveats=*When used to typecast from a string it will result in a [[ZERO_VECTOR]]
+
|caveats
**A true typecast will solve this: ([[vector]]){{LSLG|llList2String}}(src, index);
+
 
|constants
 
|constants
 
|examples=
 
|examples=
Line 31: Line 30:
 
</lsl>
 
</lsl>
 
|helpers
 
|helpers
|also_functions={{LSL DefineRow||{{LSLG|llGetListEntryType}}|}}
+
|also_functions={{LSL DefineRow||[[llGetListEntryType]]|}}
{{LSL DefineRow||{{LSLG|llList2String}}|}}
+
{{LSL DefineRow||[[llList2String]]|}}
 
|also_events
 
|also_events
 
|also_tests
 
|also_tests
Line 40: Line 39:
 
|sort=List2Vector
 
|sort=List2Vector
 
|cat1=List
 
|cat1=List
|cat2=List Element Access
+
|cat2
 
|cat3
 
|cat3
 
|cat4
 
|cat4
 
}}
 
}}

Revision as of 04:40, 16 May 2008

Summary

Function: vector llList2Vector( list src, integer index );

Returns a vector 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 <span title="<0.0, 0.0, 0.0>">ZERO_VECTOR</span> is returned.
If the type of the element at index in src is not a rotation then <span title="<0.0, 0.0, 0.0>">ZERO_VECTOR</span> is returned.
Here is a workaround: (rotation)llList2String(src, index);

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.
All Issues ~ Search JIRA for related Bugs

Examples

<lsl> // Best viewed in Chat History (ctrl-h) default {

   state_entry()
   {
       list my_list = ["a", 1, 2.0, <1,2,3>, <1,2,3,4>, llGetOwner()];
       integer i;
       for (i=0;i<llGetListLength(my_list); ++i)
       {
           llOwnerSay("string=" + llList2String(my_list,i)
                       + "\n   integer=" + (string)llList2Integer(my_list,i)
                       + "\n   float=" + (string)llList2Float(my_list,i)
                       + "\n   vector=" + (string)llList2Vector(my_list,i)
                       + "\n   rot=" + (string)llList2Rot(my_list,i)
                       + "\n   key=" + (string)llList2Key(my_list,i) );
       }
   }

}

</lsl>

See Also

Functions

•  llGetListEntryType
•  llList2String

Articles

•  Negative Index

Deep Notes

Search JIRA for related Issues

Signature

function vector llList2Vector( list src, integer index );