Difference between revisions of "LlList2Key"

From Second Life Wiki
Jump to navigation Jump to search
m (<lsl> tag to <source>)
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{LSL_Function
{{LSL_Function
|inject-2={{LSL_Function/list/element|src|index|key|return={{HoverText|null string|null string: &quot;&quot;}}}}
|func_id=189|func_sleep=0.0|func_energy=10.0
|func_id=189|func_sleep=0.0|func_energy=10.0
|func=llList2Key|return_type=key|p1_type=list|p1_name=src|p2_type=integer|p2_name=index
|func=llList2Key|return_type=key|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 key it is typecast into a key. If it cannot be typecast a {{HoverText|null string|null string: ""}} is returned (or if '''index''' is out of range).
|func_footnote=
{{LSL Tip|Please read [[User:Kireji_Haiku/How_to_deal_with_lists_in_LSL|this intro of how to iterate over a list in LSL]].}}
|func_desc
|func_desc
|return_text=that is at '''index''' in '''src'''.
|return_text=that is at {{LSLP|index}} in {{LSLP|src}}.
|spec
|spec
|caveats
|caveats
|constants
|constants
|examples
|examples=
<source lang="lsl2">
// 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) );
        }
    }
}
</source>
|helpers
|helpers
|also_functions=*{{LSLG|llList2String}}
|also_functions={{LSL DefineRow||{{LSLG|llGetListEntryType}}|}}
{{LSL DefineRow||{{LSLG|llList2String}}|}}
|also_events
|also_events
|also_tests
|also_tests
Line 16: Line 39:
|notes
|notes
|permission
|permission
|negative_index=true
|sort=List2Key
|sort=List2Key
|cat1=List
|cat1=List

Latest revision as of 11:44, 22 January 2015

Summary

Function: key llList2Key( list src, integer index );

Returns a key 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 key it is typecast to a key. If it cannot be typecast null string is returned.

KBcaution.png Important: Please read this intro of how to iterate over a list in LSL.

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

// 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) );
        }
    }
}

See Also

Functions

•  llGetListEntryType
•  llList2String

Articles

•  Negative Index

Deep Notes

Search JIRA for related Issues

Signature

function key llList2Key( list src, integer index );