Arrays in JXN

array operators

{}-operator (array construction)

constructs an array from elements: da = { 2., 3., 5. } ! double[3] array ia = { i1 : i2 } ! int array with all numbers between i1 and i2 (including) oa = { t, j, 3., ia } ! Object[4] array iaa = { { 11, 12, 13 }, { 21, 22, 23 } } ! int[2][] array

[]-operator (array access)

arr[i] arr[ia] -> { arr[ ia[0] ], arr[ ia[1] ], ... arr[ ia[len-1] ] } arr[ i1 : i2 ] ! abreviation of arr[{ i1 : i2 }] arr[ i1 : ] -> { arr[i1], arr[i1+1], ... arr[len-1] } arr[{ i1, i2, i3 }] -> { arr[i1], arr[i2], arr[i3] } obj[x] maps to obj.get(x) obj[arr] -> obj.get( arrType[] ) if defined -> else auto array: { obj.get( arr[0] ), obj.get( arr[1] ), ... obj.get( arr[len-1] ) } obj[ i1 : i2 ] ! abreviation of obj[{ i1 : i2 }] obj[ i1 : ] ! if obj.size() is defined: { obj.get( i1 ), obj.get( i1 + 1 ), ... obj.get( obj.size() - 1 ) } obj[{ i1, i2, i3 }] -> { obj.get( i1 ), obj.get( i2 ), obj.get( obj.get( i3 ) ) }

automatic array processing (auto array)