array_reference: expression `[' tuple_elements `]' ;
The array_reference
rule allows array indexing to be done in TOM
in a way familiar to many (C) programmers. Actually, the expression
a[b]
is a short-hand for [a at b]
; when used as the lhs of
an assignment, an array reference results in the invocation of the
method set at
: a[b] = c
is equal to [a set c at b]
.
Note that the type of the index is not restricted to be integer; it can be anything. For example, a dictionary mapping objects to objects could implement a method
Any at All key;
allowing a lookup of the value for the key HOME
in the dictionary
environment
to be written as
String home = environment["HOME"]
which obviously is syntactic, but very tasteful, sugar.
With the indexing expression being the elements of a tuple, multi
dimensional arrays can be indexed using a[x, y, z]
, which
obviously is rather different from a[x][y][y]
.
[Note: Multi-dimensional arrays are not provided by the standard environment, but there is nothing making them impossible.]
Go to the first, previous, next, last section, table of contents.