You're right John. The documentation does not specify how to access the members from the vector class (shame on me!). It's corrected now. Thanks for pointing this out!
In the spirit of fellow programmers, here's a couple of clarifications:
There are four basic IceSL types (apart from the local lua types), those are; vectors, matrices, shapes and voxels. Each type is a class with its own operations, members and functionality. In lua, the concept of arrays is conflated with that of tables (i.e. think of a table as a derived class from the class array). Additionally, tables in lua are indexed with brackets starting with 1, not 0 (e.g. my_table[1]). Thus if a vector were indeed a table, reaching the z coordinate (i.e. the third member) would be written as my_vector[3]. Finally, a vector is a class on its own and not a table, therefore there is no indexing of vectors but rather, there is member access (e.g. my_vector.z).
Hope this helps!
Salim.