Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Two dimention arrays and accessing syslog.

Reply
Thread Tools

Two dimention arrays and accessing syslog.

 
 
Sean Murphy
Guest
Posts: n/a
 
      01-14-2008
All,

A newby question, only been using Ruby for about 2 days.

Is there a better way of creating a two dimention array, than the code used
below

def create_world x, y
row = Array.new

y.times {
|j|
col = Array.new
x.times {
|i|

map_type = rand(2)
col[i] = map_type
}
row[j] = col
}

return row
end

world = create_world(gets.to_i, gets.to_i)

Also, what is the best method of accessing the syslog file within Linux? I
could open the file for reading, but I want to make sure there isn't a
better method first.

Regards
Sean Murphy
Skype: smurf20005

Life is a challenge, treat it that way.


 
Reply With Quote
 
 
 
 
Stefano Crocco
Guest
Posts: n/a
 
      01-14-2008
Alle luned=EC 14 gennaio 2008, Sean Murphy ha scritto:
> All,
>
> A newby question, only been using Ruby for about 2 days.
>
> Is there a better way of creating a two dimention array, than the code us=

ed
> below
>
> def create_world x, y
> =A0 row =3D Array.new
>
> =A0 y.times {
> =A0 =A0|j|
> =A0 =A0col =3D Array.new
> =A0 =A0x.times {
> =A0 =A0 |i|
>
> =A0 =A0 =A0 map_type =3D rand(2)
> =A0 =A0 =A0 col[i] =3D map_type
> =A0 =A0 }
> =A0 =A0 row[j] =3D col
> =A0 }
>
> =A0 return row
> end
>
> world =3D create_world(gets.to_i, gets.to_i)


This should work:

def make_2d_array n_row, n_col
Array.new(n_row) do
Array.new(n_col){ rand(2) }
end
end

make_2d_array(gets.to_i, gets.to_i)

The block form of Array.new creates an array of the size passed as argument=
,=20
then calls the block for each index of the array and stores the value=20
returned by the block in the corresponding element of the array (the block=
=20
can take one parameter, the index of the element, which wasn't necessary in=
=20
this case). See the ri documentation for Array.new for more information.

I hope this helps

Stefano

 
Reply With Quote
 
 
 
 
Sean Murphy
Guest
Posts: n/a
 
      01-14-2008
Hi,

thanks for that, that was really cool code.

Regards
Sean Murphy
Skype: smurf20005

Life is a challenge, treat it that way.
----- Original Message -----
From: "Stefano Crocco" <(E-Mail Removed)>
To: "ruby-talk ML" <(E-Mail Removed)>
Sent: Monday, January 14, 2008 7:40 PM
Subject: Re: Two dimention arrays and accessing syslog.


Alle luned́ 14 gennaio 2008, Sean Murphy ha scritto:
> All,
>
> A newby question, only been using Ruby for about 2 days.
>
> Is there a better way of creating a two dimention array, than the code
> used
> below
>
> def create_world x, y
> row = Array.new
>
> y.times {
> |j|
> col = Array.new
> x.times {
> |i|
>
> map_type = rand(2)
> col[i] = map_type
> }
> row[j] = col
> }
>
> return row
> end
>
> world = create_world(gets.to_i, gets.to_i)


This should work:

def make_2d_array n_row, n_col
Array.new(n_row) do
Array.new(n_col){ rand(2) }
end
end

make_2d_array(gets.to_i, gets.to_i)

The block form of Array.new creates an array of the size passed as argument,
then calls the block for each index of the array and stores the value
returned by the block in the corresponding element of the array (the block
can take one parameter, the index of the element, which wasn't necessary in
this case). See the ri documentation for Array.new for more information.

I hope this helps

Stefano


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Convert singel dimention array into grid Giant Cranes Ruby 4 11-14-2006 06:53 PM
two arrays problem (although different from the other two arrays) Kev Jackson Ruby 2 03-29-2006 03:58 PM
Tie 2 Dimention Array to File OttawaTrade Perl Misc 1 12-18-2005 10:50 AM
How can I use 2 dimention pointer seamoon C++ 3 03-08-2005 09:23 PM
Return 2 dimention array from com Slim ASP General 3 05-28-2004 07:07 PM



Advertisments