Data output

Discussion in 'Ruby' started by Stuart Clarke, Nov 6, 2008.

  1. I am processing data from an array which basically involves me searching
    for specific information and outputting the results that match eg.

    .......
    if data == 100
    puts "#{data.time_written}"

    I have just inserted a step which adds some additional criteria. This
    states if you find data that equals 100 does it happens more than 10
    times in one day.

    This all works fine. What i want is some kind of nested if statement
    thats does the following:

    if data == 100
    if data happens more than 5 times in one day
    print out the results of all the data that equals 100 but highlight
    (colour code, italics etc)the data within the results that happens more
    than 5 times in a day.

    An example of the results might be

    100 monday - - - BOLD
    100 monday - - - BOLD
    100 monday - - - BOLD
    100 monday - - - BOLD
    100 monday - - - BOLD
    100 monday - - - BOLD
    100 tuesday - - - NORMAL

    Hope this makes sense.

    Regards
    --
    Posted via http://www.ruby-forum.com/.
     
    Stuart Clarke, Nov 6, 2008
    #1
    1. Advertising

  2. Stuart Clarke

    Axel Etzold Guest

    -------- Original-Nachricht --------
    > Datum: Fri, 7 Nov 2008 02:23:40 +0900
    > Von: Stuart Clarke <>
    > An:
    > Betreff: Data output


    > I am processing data from an array which basically involves me searching
    > for specific information and outputting the results that match eg.
    >
    > .......
    > if data == 100
    > puts "#{data.time_written}"
    >
    > I have just inserted a step which adds some additional criteria. This
    > states if you find data that equals 100 does it happens more than 10
    > times in one day.
    >
    > This all works fine. What i want is some kind of nested if statement
    > thats does the following:
    >
    > if data == 100
    > if data happens more than 5 times in one day
    > print out the results of all the data that equals 100 but highlight
    > (colour code, italics etc)the data within the results that happens more
    > than 5 times in a day.
    >
    > An example of the results might be
    >
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 tuesday - - - NORMAL
    >
    > Hope this makes sense.
    >
    > Regards
    > --
    > Posted via http://www.ruby-forum.com/.


    Dear Stuart,

    you can output your report as a html document using textile:

    http://whytheluckystiff.net/ruby/redcloth/

    using very simple markup styles.

    Best regards,

    Axel


    --
    "Feel free" - 5 GB Mailbox, 50 FreeSMS/Monat ...
    Jetzt GMX ProMail testen: http://www.gmx.net/de/go/promail
     
    Axel Etzold, Nov 6, 2008
    #2
    1. Advertising

  3. On Thu, Nov 6, 2008 at 6:23 PM, Stuart Clarke
    <> wrote:
    > I am processing data from an array which basically involves me searching
    > for specific information and outputting the results that match eg.
    >
    > .......
    > if data == 100
    > puts "#{data.time_written}"
    >
    > I have just inserted a step which adds some additional criteria. This
    > states if you find data that equals 100 does it happens more than 10
    > times in one day.
    >
    > This all works fine. What i want is some kind of nested if statement
    > thats does the following:
    >
    > if data == 100
    > if data happens more than 5 times in one day
    > print out the results of all the data that equals 100 but highlight
    > (colour code, italics etc)the data within the results that happens more
    > than 5 times in a day.
    >
    > An example of the results might be
    >
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 monday - - - BOLD
    > 100 tuesday - - - NORMAL


    This is how I'd do it: first build an histogram of the data. In this case
    you want to count how many there are of a combination of data and day.
    Then print the array checking against the histogram for choosing style:

    irb(main):001:0> TimeData = Struct.new :data, :day
    => TimeData
    irb(main):002:0> a = []
    => []
    irb(main):003:0> 6.times {a << TimeData.new(100, "monday")}
    => 6
    irb(main):004:0> a << TimeData.new(100, "tuesday")
    => [#<struct TimeData data=100, day="monday">, #<struct TimeData
    data=100, day="monday">, #<struct TimeData data=100, day="monday">,
    #<struct TimeData data=100, day="monday">, #<struct TimeData data=100,
    day="monday">, #<struct TimeData data=100, day="monday">, #<struct
    TimeData data=100, day="tuesday">]
    irb(main):005:0> h = Hash.new(0)
    => {}
    irb(main):007:0> a.inject(h) {|histo,time| h[[time.data, time.day]] += 1}
    => 1
    irb(main):008:0> h
    => {[100, "tuesday"]=>1, [100, "monday"]=>6}
    irb(main):009:0> a.each do |time|
    irb(main):010:1* if h[[time.data, time.day]] > 5
    irb(main):011:2> puts "<bold>#{time.data} #{time.day}</bold>"
    irb(main):012:2> else
    irb(main):013:2* puts "<normal>#{time.data} #{time.day}</normal>"
    irb(main):014:2> end
    irb(main):015:1> end
    <bold>100 monday</bold>
    <bold>100 monday</bold>
    <bold>100 monday</bold>
    <bold>100 monday</bold>
    <bold>100 monday</bold>
    <bold>100 monday</bold>
    <normal>100 tuesday</normal>

    Hope this helps.

    Jesus.
     
    Jesús Gabriel y Galán, Nov 7, 2008
    #3
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. John Bentley

    Output / Debug window output bug?

    John Bentley, Sep 10, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    599
    John Bentley
    Sep 10, 2003
  2. chuck amadi
    Replies:
    1
    Views:
    499
    Larry Bates
    Jun 23, 2004
  3. Paul
    Replies:
    1
    Views:
    435
  4. Stephen Moon

    reading output file data as input data

    Stephen Moon, Feb 28, 2004, in forum: Perl Misc
    Replies:
    5
    Views:
    182
    Tad McClellan
    Feb 29, 2004
  5. Replies:
    4
    Views:
    254
    Paul Lalli
    Aug 1, 2007
Loading...

Share This Page