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