Ruby Reports. Ruport. Check it out.

On Aug 22, 2007, at 7:21 AM, Peter Versteegen wrote:

> # Hi,
>
> # I need some help in simplefying my life
> # I need to create lots of tables from arrays and I need to provide
> # each of the columns with a heading.  For eample, I have
> # two headings "a-value" and "b-value" specified as follows:
> a = ["a-value", "b-value"]
> b = [10, 10]
> # The array b contains the width of the field, so that I get:
> #   a-value   b-value
> # Two ways to do this are as follows:
> puts "#{'a-value'.rjust(10)}#{'b-value'.rjust(10)}"
> puts "#{a[0].rjust(b[0])}#{a[1].rjust(b[1])}"
>
> # which is difficult to debug, so that I'm looking for
> # a simpler process, specificaly by writing a function.
> # The following one works:
>
> def heading2(x, n)
>   x.length.times do |i|
>     print "#{x[i].rjust(n[i])}"
>   end
>   print "\n\n"
> end
>
> puts
> heading2(a,b)
>
> # But this approach doesn't.  Why not? Are there other ways to make  
> this simpler?
>
> def heading1(x, n)
>   s = ""
>   x.length.times do |i|
>     s = s + "\#{\'" + x[i] + "\'.rjust(" + n[i].to_s + ")}"
>   end
>   p s
>   print s
>   puts s
>   return s
> end
>
> heading1(a,b)
> puts "#{heading1(a, b)}"
> puts "\"#{heading1(a, b)}\""
>
>
> # Thanks ahead. (NOTE: This file can be run from TextMate)
>
>
>
> Peter Versteegen
> pversteegen / gcnetmail.net
>
>
>
>

---------------------------------------------------------------|
~Ari
"I don't suffer from insanity. I enjoy every minute of it" --1337est  
man alive