Hi there!
I'm just new at ruby and I have a weird issue probably really dumb but i
just haven't been able to figure it out.
Using arrays in C or whatever i could define an array using to indexing
numbers, in order to simulate a chess board or whatever...
board = array[8,8]
And then store info in that array like this
board[1,1] = whatever.
I just can't get that to work in ruby! Why? How can i do it?
Thx
···
--
Posted via http://www.ruby-forum.com/.
Tim_Pease
(Tim Pease)
2
The ruby Array class is always a one dimensional array. You can create
an array of arrays to get two dimensional behavior.
ary = Array.new(3) {|idx| Array.new(3)}
ary[0][0] = 1
To make the indexing a little more clear
tmp =ary[0] # give me the row at index 0
tmp[0] = 1 # set the value at column 0 of row 0 to 1 (since
tmp is really row 0)
But usually you can just glom all that together like so ...
ary[0][0] = 1
ary[0][1] = 2
ary[0][2] = 3
I hope this answers your question.
TwP
···
On 11/14/06, Flaab Mrlinux <flaab_mrlinux@hotmail.com> wrote:
Hi there!
I'm just new at ruby and I have a weird issue probably really dumb but i
just haven't been able to figure it out.
Using arrays in C or whatever i could define an array using to indexing
numbers, in order to simulate a chess board or whatever...
board = array[8,8]
And then store info in that array like this
board[1,1] = whatever.
I just can't get that to work in ruby! Why? How can i do it?
Flaab Mrlinux wrote:
Hi there!
I'm just new at ruby and I have a weird issue probably really dumb but i just haven't been able to figure it out.
Using arrays in C or whatever i could define an array using to indexing numbers, in order to simulate a chess board or whatever...
board = array[8,8]
And then store info in that array like this
board[1,1] = whatever.
I just can't get that to work in ruby! Why? How can i do it?
Thx
The easiest way to define a multidimensional array in Ruby is to define an array of arrays:
board = Array.new(8) { Array.new(8) }
Run "ri Array.new" to read about how to create and initialize arrays.