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)


[indent=4]
/* 
   Arrays, in Genie
 
   valac --pkg=gee-0.8 arrays.gs
   ./arrays 
*/
 
uses
    Gee
 
init
    /* allocate a fixed array */
    var arr = new array of int[10]
 
    /* initialized array of strings */
    initialized:array of string = {"This", "is", "Genie"}
 
    /* length is an array property */
    stdout.printf("%d\n", arr.length)
 
    /* read/write access via index */
    arr[1] = 1
    arr[9] = arr[1] + 8
    stdout.printf("%d\n", arr[9])
 
    print initialized[2]
 
    /* Dynamic arrays are lists in Genie */
    var dyn = new list of int
    dyn.add(1)
    dyn.add(8)
    dyn.add(dyn[0]+dyn[1])
    stdout.printf("dyn size: %d\n", dyn.size)
    stdout.printf("dyn[2]  : %d\n", dyn[2])