Newbie with a project.(Parse tabed file and gen statistics?)

I have tab delimited files that I want to parse and generate statistics
with. I can parse the file into an array using IO.readlines but don't
know what good that does for sorting, and the other path I was following
was this.

class MyNewClass
  File.open("/home/user/testdata") do |openfile|
    openfile.each do |iterationshere|
    status, keyword, location, state, zip, date, resultcount,
searchcount = iterationshere.chomp.split(/\t+/)
    puts "keyword: #{keyword} status: #{status}, location: #{location},
state: #{state}, zip: #{zip}, date: #{date}, resultcount:
#{resultcount}, searchcount :#{searchcount}"
    end
  end
end

This obviously gos through the file line by line and splits on the tab
character and assigns the the variables status keyword etc then prints
that line.
But how do I put those into a hash and sort on the fields. Eventually I
will need this to go into a database, but I want to take this one step
at a time.
Thanks for helping this newbie. I have been using Perl for a while
(still consider myself newbie with it), but have decided to get more
into web development using the Rails framework and noticed Ruby had
regexp support built in. WOOT.

···

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

Paul Lutus wrote:

/ ...

Experiment with this program:

A hasty correction:

···

-----------------------------

#!/usr/bin/ruby -w

data = File.read("data.tsv")

database =

data.each do |line|
   database << line.split(/\t/)
end

database = database.sort { |a,b| b[4].to_i <=> a[4].to_i }

puts database

-----------------------------

--
Paul Lutus
http://www.arachnoid.com

Paul Lutus wrote:

Paul Lutus wrote:

/ ...

> Experiment with this program:

A hasty correction:

-----------------------------

#!/usr/bin/ruby -w

data = File.read("data.tsv")

database =

data.each do |line|
   database << line.split(/\t/)
end

database = database.sort { |a,b| b[4].to_i <=> a[4].to_i }

puts database

-----------------------------

--
Paul Lutus
http://www.arachnoid.com

p IO.readlines('junk').map{|s| s.chomp.split("\t")}.sort_by{|a|
  a[4].to_i}

William James wrote:

/ ...

p IO.readlines('junk').map{|s| s.chomp.split("\t")}.sort_by{|a|
  a[4].to_i}

Where's my caddy? :slight_smile:

One of my goals was that the OP would understand my code at a glance.

···

--
Paul Lutus
http://www.arachnoid.com

I'm still trying to figure William's out.
/one day .map will click and I'll get it.

···

On 12/11/06, Paul Lutus <nospam@nosite.zzz> wrote:

William James wrote:

/ ...

> p IO.readlines('junk').map{|s| s.chomp.split("\t")}.sort_by{|a|
> a[4].to_i}

Where's my caddy? :slight_smile:

One of my goals was that the OP would understand my code at a glance.

--
Paul Lutus
http://www.arachnoid.com

And well done at that... complete nuby that I am, I understood yours while