Menu

Copyarray

Brynner

Syntax

  • copyarray <destination array>, <source array>, <amount of elements to copy>;

Description

This command copies a range of values from given source array to given
destination array. If you specify an index for either or both, the data will
be copied string from or to the given index.

If copying would add more than 128 elements to the destination array, the
remaining elements are cut off. If a combination of index and amount of
elements to copy go beyond the 127th element, empty values, 0 or "" depending
on array type, are assumed.

Note, that destination array and source array can point to the same variable,
where the indexes differ.

Avoid use of script command [Getarraysize] for the third parameter, if the
array in question contains empty values, otherwise copyarray might not copy as
many elements, as intended.

Examples

[Cleararray] @arrayl[0], 100, 6;  // { 100, 100, 100, 100, 100, 100 }
[Setarray] @arrays[0], 200, 300, 400, 500;
copyarray @arrayl[2], @arrays, 4;

Copies the first 3 elements of @arrays to @arrayl starting at index 2,
resulting in @arrayl being { 100, 100, 200, 300, 400, 100 }.

copyarray @array[0], @array[1], 99;  // assuming @array has 100 elements
[Set] @array[99], 0;  // wipe last element

This shifts all elements inside @array by one towards index 0, effectively
removing the first element.

setarray @array[0], 100, 200, 0, 300, 400, 500, 600;
copyarray @array[0], @array[1], [Getarraysize](@array)-1;  // hidden bug

Will result in @array being { 200, 0, 300, 400, 500, 500, 600 } rather than
intended { 200, 0, 300, 400, 500, 600, 600 }, because getarraysize returns 6,
instead of 7.

[Category:Script Command]


Related

Wiki: Deletearray
Wiki: Getarraysize

MongoDB Logo MongoDB