From: Robert Klemme Date: 2005-11-28T21:52:29+09:00 Subject: Re: 2dim array/matrix Wolfgang wrote: > hello, > > I'm quite new to programming as well to ruby. I want to store data in > a 2 dimensional array. How can I do this? > > A more detailed describtion of what I want to do: > I have data from a digital elevation model. This is stored in a log > txt file. I want to read it in and store it in an array or matrix. > Because there are some error/gaps in the data I want to check for > these values and calculate an average from the surrounding values. At > the end all values should get written to an other txt file as x, y, z > triples. The main problem for me to start is the 2dimensional > storage. I know the needed size of the 2dim array/matrix > (x-dim,y-dim). For getting the data in I was thinking of something > like: dem[xi][yi]=value . The easiest to achieve that is matrix = Array.new(dim_x) { Array.new(dim_y) } There are also some matrix classes on the RAA http://raa.ruby-lang.org/search.rhtml?search=matrix For storage you can use CSV implementations or cook your own: File.open("matrix.csv", "w") do |io| matrix.each_with_index do |yvalues, xidx| yvalues.each_with_index do |val, yidx| io.print xidx,yidx,val,"\n" end end end etc. HTH Kind regards robert