Carlos <angus / quovadis.com.ar> wrote: > > Maybe you didn't examine the program very well. The original author > (ab?)used the fact that a Struct can be used as an array. So, o.x can be > referred as o[0], o.y as o[1], and o.z as o[2]. But it is not necessary to > do so, and probably it is better to refer to its members by name. I sort of agree with you - looping over a Struct is an unnecessary slowdown. I was thinking of a Struct as ruby's equivalent of a tuple when I wrote that code - i.e. I didn't so much want fields named x, y and z as I wanted an array restricted to have three members. martin