From: Gregory Brown Date: 2008-08-03T06:49:42+09:00 Subject: Re: Back on the List - Two questions On Sat, Aug 2, 2008 at 4:59 PM, Shadowfirebird wrote: > content.each do |i| > i.each{|j| printf "%30s ", j} > puts > end If you combine this with a function that first figures out an appropriate column width based on the size of the strings in that column, this simple approach would be much more lightweight than what we do in Ruport, for sure (but not quite as full featured). But usually, dynamically determining column width is a must-have unless you can make a lot of assumptions about the data you're displaying. For example, showing telephone numbers with fixed width hard coded columns would be fine, but email addresses, probably not so clear cut. -greg -- Killer Ruby PDF Generation named after a magnificent sea creature: http://github.com/sandal/prawn | Non-tech stuff at: http://metametta.blogspot.com