Arrays
# 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'