This task is about arrays.

For hashes or associative arrays, please see Creating an Associative Array.

For a definition and in-depth discussion of what an array is, see Array.



Task

Show basic array syntax in your language.

Basically, create an array, assign a value to it, and retrieve an element   (if available, show both fixed-length arrays and
dynamic arrays, pushing a value into it).

Please discuss at Village Pump:   Arrays.

Please merge code in from these obsolete tasks:

   Creating an Array
   Assigning Values to an Array
   Retrieving an Element of an Array


Related tasks

   Collections
   Creating an Associative Array
   Two-dimensional array (runtime)


;; Construct an array.
foo := [1, 2, 3].
 
;; Arrays can also be constructed explicitly.
bar := Array clone.
bar pushBack (1).
bar pushBack (2).
bar pushBack (3).
 
;; Accessing values.
println: foo nth (2). ;; 3
 
;; Mutating values.
foo nth (1) = 99.
println: foo. ;; [1, 99, 3]
 
;; Appending to either the front or the back of the array.
foo pushBack ("back").
foo pushFront ("front").
println: foo. ;; ["front", 1, 99, 3, "back"]
 
;; Popping from the front or back.
println: foo popBack. ;; "back"
println: foo popBack. ;; 3
println: foo popFront. ;; "front"
println: foo. ;; [1, 99]