LlDeleteSubList
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