Forum: Ruby on Rails Urgent Output Layout

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Rake N. (Guest)
on 2009-01-10 11:56
Hi,

Anyone can help me on how to layout my output? See my source code;

# Start Here
report = Hash.new

PTable.all(:conditions => ['status = "success" AND created_at >= ? AND
  created_at < ?', Date.today.midnight, Date.today.midnight +
    1.day]).inject(0) { |total, p_table|
    unless translations.flatten.any? {|t| t == p_table.id || t ==
    pt.rd_field}

  evalsum = eval(p_table.rd_field) if !p_table.rd_field.nil?
  norm = evalsum[:ctms].inject(0) {|sum, room| sum + norm.length}
  nopn = evalsum[:ctms].length

    if report[evalsum[:hname]].nil?
       report.store(evalsum[:hname], {'norm' => norm, 'nopn' => nopn})
    else
       report[evalsum[:hname]]['norm'] += norm
       report[evalsum[:hname]]['nopn'] += nopn
    end
  end
  }
  puts report.inspect
 }
end
# End Here


Here are the Output of my code;

{"AAA"=>{"nopn"=>2, "norm"=>4}, "BBB"=>{"nopn"=>1, "norm"=>2},
"CCC"=>{"nopn"=>1, "norm"=>2}, "DDD"=>{"nopn"=>1, "norm"=>2},
"EEE"=>{"nopn"=>5, "norm"=>10}, "FFF"=>{"nopn"=>1, "norm"=>2},
"GGG"=>{"nopn"=>4, "norm"=>8}, "HHH"=>{"nopn"=>1, "norm"=>2},
"III"=>{"nopn"=>1, "norm"=>2}, "JJJ"=>{"nopn"=>1, "norm"=>2},
"KKK"=>{"nopn"=>1, "norm"=>2}, "LLL"=>{"nopn"=>1, "norm"=>2},
"MMM"=>{"nopn"=>2, "norm"=>4}}


How can I do these Output Layout I need like belows;

AAA 2 4
BBB 1 2
CCC 1 2
DDD 1 2
EEE 5 10
FFF 1 2
GGG 4 8
HHH 1 2
III 1 2
JJJ 1 2
KKK 1 2
LLL 1 2
MMM 2 4



Thanks in Advance!
Vishwanath N. (Guest)
on 2009-01-10 14:48
(Received via mailing list)
Hi,

replace puts report.inspect with the following

report.keys.sort.each do |key|
puts "#{key} #{report[key]["nopn"]} #{report[key]["norm"]}"
end

NAYAK

On Sat, Jan 10, 2009 at 3:26 PM, Ferdie Ferdie <
removed_email_address@domain.invalid> wrote:

>    1.day]).inject(0) { |total, p_table|
>       report[evalsum[:hname]]['norm'] += norm
> Here are the Output of my code;
> How can I do these Output Layout I need like belows;
> JJJ 1 2
> >
>


--
- NAYAK
Rake N. (Guest)
on 2009-01-11 08:18
Vishwanath Nayak wrote:
> Hi,
>
> replace puts report.inspect with the following
>
> report.keys.sort.each do |key|
> puts "#{key} #{report[key]["nopn"]} #{report[key]["norm"]}"
> end
>
> NAYAK
>
> On Sat, Jan 10, 2009 at 3:26 PM, Ferdie Ferdie <
> removed_email_address@domain.invalid> wrote:
>
>>    1.day]).inject(0) { |total, p_table|
>>       report[evalsum[:hname]]['norm'] += norm
>> Here are the Output of my code;
>> How can I do these Output Layout I need like belows;
>> JJJ 1 2
>> >
>>
>
>
> --
> - NAYAK

Hi Nayak,

Fantastic, it works! thank you for the immediate reply.

Cheer's
/Ferdie
This topic is locked and can not be replied to.