问题
I am outputting some text tables to a terminal and would like to be able to use something like the C++ std::setw() function to provide padding for my output rather than guessing at the number of spaces or tabs required. Before I go knock together something to do this, is there already a function or Ruby Gem which does this?
Std::setw() for those who need a few cobwebs flow out (like me) http://www.cplusplus.com/reference/iostream/manipulators/setw/
I am using Ruby 1.8 at present so a solution compatible with that would be preferable.
回答1:
It's not the same interface (so slightly different thinking), but if I understand the purpose correctly, I usually just use sprintf
for this.
puts "%10s" % ["foo"] # => " foo"
puts "%-10s" % ["bar"] # => "foo "
来源:https://stackoverflow.com/questions/7309931/is-there-a-ruby-equivalent-to-the-c-stdsetwint-function