Jump to content

LlDeleteSubList

From OSgrid Wiki
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Function: list llDeleteSubList( list src, integer start, integer end );

Returns a list that is a copy of src but with the slice from start to end removed.
• list src – source
• integer start – start index
• integer end – end index

start & end support negative indexes.
While the function result is different than src, src is not modified, remember to use or store the result of this function.
The opposite function would be llListInsertList.

Specification

Index Positive Negative
first 0 -length
last Length - 1 -1


Mentally first translate any negative indexes into positive indexes

• If start <= end then the range operated on starts at start and ends at end. [start, end]
• If start > end then the range operated on starts at 0 and goes to end and then starts again at start and goes to -1. [0, end] + [start, -1]

Positive indexes past the length (after the last index), or negative indexes past the beginning (before the first index) are valid. The effects are predictable, the entries are treated as if they were there but were removed just before output.

See negative indexes for more information.
Examples

<source lang="lsl">

src = llDeleteSubList( src, start, end ) </source>


<source lang="lsl">

default {

   state_entry()
   {
       // Create a list of names
       list names = ["Anthony", "Bob", "Charlie", "Diane", "Edgar", "Gabriela"];

       // Now let's remove values at position 1 through 2.
       names = llDeleteSubList(names, 1, 2);

       // Result:
       // list names = ["Anthony", "Diane", "Edgar", "Gabriela"];

       // Now let's use an start number higher then our end number
       names = llDeleteSubList(names, 3, 1);

       // Result:
       // list names = ["Edgar"];
   }

} </source>


See Also
Functions
• llListInsertList
• llListReplaceList
• llList2List