content = [
[“something special a”, “ok cool a”, “tahsnk a”],
[“something specccccccccial a”, “ok cooooool a”, “tahsnk a”]
]
content.each {|i|
puts i.join("\t")
} #something special a ok cool a tahsnk a #something specccccccccial a ok cooooool a tahsnk a
I would like to print this out as such:
something special a ok cool a tahsnk a
something specccccccccial a ok cooooool a tahsnk a
I remember seeing a module or example like this somewhere… Any ideas? I
was
thinking it was pretty print at first but after looking, I guess not?
content.each {|i|
thinking it was pretty print at first but after looking, I guess not?
Well, it’s a bit like killing a mosquito with a bazooka, but you could
use Ruport for this:
require “rubygems”
=> true
require “ruport”
=> true
content = [
?> [“something special a”, “ok coola”, “tahsnk a”],
?> [“something speccccccccccccial a”, “ok cooool a”, “tahsnk a”]
]
=> [[“something special a”, “ok coola”, “tahsnk a”], [“something
speccccccccccccial a”, “ok cooool a”, “tahsnk a”]]
puts Table(:data => content)
±--------------------------------------------------------+
| something special a | ok coola | tahsnk a |
| something speccccccccccccial a | ok cooool a | tahsnk a |
±--------------------------------------------------------+
But if you don’t want the decorations, you’d need to tweak things.
Feel free to take a look at the (not exactly pretty) source and re-use
whatever code you’d like:
On Sat, Aug 2, 2008 at 4:59 PM, Shadowfirebird [email protected] 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.
–
Me, I imagine places that I have never seen / The colored lights in
fountains, blue and green / And I imagine places that I will never go
/ Behind these clouds that hang here dark and low
But it’s there when I’m holding you / There when I’m sleeping too /
There when there’s nothing left of me / Hanging out behind the
burned-out factories / Out of reach but leading me / Into the
beautiful sea
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.