On 7 Jun 2000, Dave Thomas wrote: > Hugh Sasse Staff Elec Eng <hgs / dmu.ac.uk> writes: > > > Is there an idiom for 3-dimensional arrays in Ruby? I see that > > some fo the array operators assume you are handling an array of arrays... > > I'm concerned about clean ways to address the contents, and yet have > > reasonable access times. > > If there isn't I will use the same techniques I did for C++. > > a = [ > [ > [ 1 , 2 ], > [ 3 , 4 ] > ], > [ > [ 5 , 6 ], > [ 7 , 8 ] > ] > ] > > for i in 0..1 > for j in 0..1 > for k in 0..1 > puts "a[#{i}][#{j}][#{k}] = #{a[i][j][k]}" > end > end > end > > > Arrays of arrays of arrays are handled, the main problem being the > need to ensure that you actually have arrays in there--there's no > auto-creation as with Perl. That is what I am going to hit, I think. And I have a possible 100x100x100 size array to deal with, so my creation strategy must be different from above. I need to create these things at intervals through the code. So the sensible thing seems to be to just have a flat array and provide methods for the indexing, which is pretty much what I did in C++. In C++ you cannot overload [][][], so I suppose that is true for Ruby as well, is it? > > Dave > > Hugh hgs / dmu.ac.uk