RosettaCodeData/Task/Arrays/Sidef/arrays.sidef

30 lines
722 B
Plaintext

# create an empty array
var arr = [];
# push objects into the array
arr << "a"; #: ['a']
arr.append(1,2,3); #: ['a', 1, 2, 3]
# change an element inside the array
arr[2] = "b"; #: ['a', 1, 'b', 3]
# set the value at a specific index in the array (with autovivification)
arr[5] = "end"; #: ['a', 1, 'b', 3, nil, 'end']
# resize the array
arr.resize_to(-1); #: []
# slice assignment
arr[0..2] = @|('a'..'c'); #: ['a', 'b', 'c']
# indices as arrays
var indices = [0, -1];
arr[indices] = ("foo", "baz"); #: ['foo', 'b', 'baz']
# retrieve multiple elements
var *elems = arr[0, -1]
say elems #=> ['foo', 'baz']
# retrieve an element
say arr[-1]; #=> 'baz'