Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > multi-dimentional array

Reply
Thread Tools

multi-dimentional array

 
 
Joan Gu
Guest
Posts: n/a
 
      03-25-2008
I need to insert Broad Category value and Topics value into a table,
doing something like this (where 'Police, Crime, Drugs' are topics
values and 'Crime & Law Enforcement' is broad category value):

obj1 = 'Police, Crime, Drugs'
obj1 = obj1.split(',').map do |tag_name|
execute "insert into tags (name,counter) values
('#{tag_name.strip.downcase}', 0)"
t = Tag.find_by_name(tag_name.strip.downcase)
tt = t.tag_with('Crime & Law Enforcement')
end

When it comes with multiple broad categories and topics, I want to build
an array in a form like
[['Police, Crime, Drugs','Crime & Law Enforcement'],['Fire, Emergency
Services','Emergency Management'], ['Schools, Colleges,
Libraries','Education'],...]
to iterate the executions. I worked for quite some hours, but still
can't make it work. Can someone help?

Joan
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
 
 
 
David A. Black
Guest
Posts: n/a
 
      03-25-2008
Hi --

On Tue, 25 Mar 2008, Joan Gu wrote:

> I need to insert Broad Category value and Topics value into a table,
> doing something like this (where 'Police, Crime, Drugs' are topics
> values and 'Crime & Law Enforcement' is broad category value):
>
> obj1 = 'Police, Crime, Drugs'
> obj1 = obj1.split(',').map do |tag_name|
> execute "insert into tags (name,counter) values
> ('#{tag_name.strip.downcase}', 0)"
> t = Tag.find_by_name(tag_name.strip.downcase)
> tt = t.tag_with('Crime & Law Enforcement')
> end
>
> When it comes with multiple broad categories and topics, I want to build
> an array in a form like
> [['Police, Crime, Drugs','Crime & Law Enforcement'],['Fire, Emergency
> Services','Emergency Management'], ['Schools, Colleges,
> Libraries','Education'],...]
> to iterate the executions. I worked for quite some hours, but still
> can't make it work. Can someone help?


I think you want something like this:

tagsets = [['Police, Crime, Drugs','Crime & Law Enforcement'],
['Fire, Emergency Services','Emergency Management'],
['Schools, Colleges, Libraries','Education']]

tagsets.each do |tagset|
broad, topic = tagset
broads = broad.split(",").map {|s| s.strip }
puts "Broad: #{broads.join("; ")}\n\tTopic: #{topic}" # etc.
end


David

--
Rails training from David A. Black and Ruby Power and Light:
ADVANCING WITH RAILS April 14-17 New York City
INTRO TO RAILS June 9-12 Berlin
ADVANCING WITH RAILS June 16-19 Berlin
See http://www.rubypal.com for details and updates!

 
Reply With Quote
 
 
 
 
Paul Mckibbin
Guest
Posts: n/a
 
      03-25-2008
Joan Gu wrote:
> I need to insert Broad Category value and Topics value into a table,
> doing something like this (where 'Police, Crime, Drugs' are topics
> values and 'Crime & Law Enforcement' is broad category value):


How about using a hash with arrays underneath?

Something like:


category_hash={}
cat1 = 'Crime & Law Enforcement'
cat2 = 'Emergency Management'
obj1 = 'Police, Crime, Drugs'
obj2 = 'Fire, Emergency Services'

category_hash[cat1]= obj1.split(",").map {|s| s.strip}
category_hash[cat2]= obj2.split(",").map {|s| s.strip}

You can then add new items like this:

category_hash[cat1] << 'New Crime related item'

puts category_hash.inspect
#=>{"Emergency Management"=>["Fire", "Emergency Services"], "Crime & Law
Enforcement"=>["Police", "Crime", "Drugs", "New Crime related item"]}

and you can then iterate through categories and within each category
through the items.

Mac
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
Joan Gu
Guest
Posts: n/a
 
      03-25-2008
To Mac,

Your solution sounds like a good approach, but may not fit in my
situation, since I am actually writing Rails migration file, which is
more like a 'one time deal'.

Thanks for your help.
Joan
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
Todd Benson
Guest
Posts: n/a
 
      03-25-2008
On Tue, Mar 25, 2008 at 9:48 AM, Joan Gu <> wrote:
> I need to insert Broad Category value and Topics value into a table,
> doing something like this (where 'Police, Crime, Drugs' are topics
> values and 'Crime & Law Enforcement' is broad category value):
>
> obj1 = 'Police, Crime, Drugs'
> obj1 = obj1.split(',').map do |tag_name|
> execute "insert into tags (name,counter) values
> ('#{tag_name.strip.downcase}', 0)"
> t = Tag.find_by_name(tag_name.strip.downcase)
> tt = t.tag_with('Crime & Law Enforcement')
> end
>
> When it comes with multiple broad categories and topics, I want to build
> an array in a form like
> [['Police, Crime, Drugs','Crime & Law Enforcement'],['Fire, Emergency
> Services','Emergency Management'], ['Schools, Colleges,
> Libraries','Education'],...]
> to iterate the executions. I worked for quite some hours, but still
> can't make it work. Can someone help?
>
> Joan


Can't help you with migrations, but what's your relationship model?
Is it one to one and that's why you want an array like that? Is it
one many (which is what I'd suspect)? Is it many to many?

You did say "a" table. Somehow, that doesn't seem to correctly fit your model.

Todd

 
Reply With Quote
 
Paul Mckibbin
Guest
Posts: n/a
 
      03-27-2008
> Can't help you with migrations, but what's your relationship model?
> Is it one to one and that's why you want an array like that? Is it
> one many (which is what I'd suspect)? Is it many to many?
>
> You did say "a" table. Somehow, that doesn't seem to correctly fit your
> model.
>
> Todd

Seems to me that could even be n-n, since a category like "Police
Academy" could fit into two topics.

Mac
--
Posted via http://www.ruby-forum.com/.

 
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
const and array of array (of array ...) Mara Guida C Programming 3 09-03-2009 07:54 AM
length of an array in a struct in an array of structs in a struct in an array of structs Tuan Bui Perl Misc 14 07-29-2005 02:39 PM
Length of Array of Array of Array Tom Perl Misc 3 12-20-2004 05:23 PM
How to combine 2 int Array into ONE int Array ? S300 Java 4 08-19-2003 07:04 PM
hashed array in array need the keys... and length Daniel Perl 1 08-14-2003 06:49 PM



Advertisments