Forum: Ruby formatting print output

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.
unknown (Guest)
on 2008-12-06 02:43
(Received via mailing list)
Hi All,

How do I format the output from print or puts
so that columns are aligned:

So this:
beagle-status  255
bibtex  154312
bioradtopgm  7844
bison  242032
blackjack  140792


becomes this:

beagle-status  255
bibtex            154312
bioradtopgm   7844
bison             242032
blackjack       140792

You probably know what I mean.
I could not find this in my Ruby book (Cooper)
and a lot of the Ruby Websites cannot be accessed.

Thank you, --JM
Michael W. Ryder (Guest)
on 2008-12-06 03:10
(Received via mailing list)
removed_email_address@domain.invalid wrote:
> blackjack  140792
>
>
> becomes this:
>
> beagle-status  255
> bibtex            154312
> bioradtopgm   7844
> bison             242032
> blackjack       140792
>

You mean something like:

irb(main):001:0> puts "beagle-status".ljust(20) + "255".rjust(10)
beagle-status              255
=> nil
irb(main):002:0> puts "bibtex".ljust(20) + "154312".rjust(10)
bibtex                  154312
=> nil
Eustáquio Rangel (Guest)
on 2008-12-06 03:11
(Received via mailing list)
> How do I format the output from print or puts
> so that columns are aligned:
>
> So this:
> beagle-status  255
> bibtex  154312
> bioradtopgm  7844
> bison  242032
> blackjack  140792

Kind of:

a = [["beagle-status",255], ["bibtex",154312], ["bioradtopgm",7844],
["bison",242032], ["blackjack",140792]]
a.each do |item|
  puts "#{sprintf('%-20s',item[0])} #{item[1]}"
end

Result:

beagle-status 255
bibtex             154312
bioradtopgm  7844
bison              242032
blackjack        140792

Regards.
List R. (Guest)
on 2008-12-06 03:31
(Received via mailing list)
On Dec 5, 2008, at 8:04 PM, "Eustáquio Rangel" 
<removed_email_address@domain.invalid
m> wrote:

> Kind of:
> bibtex             154312
> bioradtopgm  7844
> bison              242032
> blackjack        140792
>
> Regards.
>


gem install ruport

require 'ruport'
puts Table(:data => Hash[*a.compact])
This topic is locked and can not be replied to.