[ARRAYS] Bidimensional Arrays? (opened)

F

Flaab Mrlinux

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
 
T

Tim Pease

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?

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
 
T

Timothy Hunter

Flaab said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,049
Latest member
Allen00Reed

Latest Threads

Top