slice_array¶
Description¶
Given an array, returns a possibly smaller array, starting at the given from index,
and including items up to but not including the to index.
Indices start counting at 0; 0 is the first element. Negative indices start
counting at the end; -1 is the last element (not the end of the array!)
When only two arguments are supplied, the array starting at the given from
index and ranging to the end of the input is returned. Thus, slice_array(ary, 1)
will remove the first element from an array.
A slice where the to element is the same as, or earlier than, the from element,
will return an empty array. Similarly, if starting to slice after the end of the
array, or ending the slice before the start of the array, an empty array will be
returned.
The from and to values must be constant at compile time.
Return type¶
array
Domain¶
This is a scalar function (calculates a single output value for a single input row.)
Categories¶
Usage¶
slice_array(array, start, [ end ])
Argument |
Type |
Optional |
Repeatable |
Restrictions |
|---|---|---|---|---|
array |
array |
no |
no |
none |
start |
int64 |
no |
no |
constant |
end |
int64 |
yes |
no |
constant |
Examples¶
make_col arr:slice_array(make_array('a','b','c','d'), 1, 2)
Make a new column arr which contains the array ['b'], because it starts at
element 1, which is ‘b’, and it stops before element 2, which is ‘c’.
make_col arr:slice_array(make_array('a','b','c','d'), -2)
Make a new column arr which contains the array ['c', 'd'], because it starts
at element 2 from the end, which is ‘c’, and runs to the end of the array.