2011-09-05 79 views
1

我正在输出一些文本表到终端,并希望能够使用类似C++ std :: setw()函数的东西来为我的输出提供填充,而不是猜测所需的空格或制表符的数量。在我碰到一起做这件事之前,是否已经有一个函数或Ruby Gem来做这件事?是否存在与C++ std :: setw(int)函数相当的Ruby?

的std ::运输及工务局局长()为那些谁需要几个蜘蛛网流出(像我)http://www.cplusplus.com/reference/iostream/manipulators/setw/

我使用Ruby 1.8所以目前与兼容的解决方案将是可取的。

+1

你在寻找类似于String#ljust和String#rjust的东西吗? – christianblais

+0

是的christianblais,我可以使用它来预先格式化我的字符串或者按照它的顺序调用它。当我浏览Ruby文档时,完全忽略了这个功能。我不知道你的解决方案是否比d11wtq好,但在大多数情况下它应该能够完成这项工作。感谢您的评论/回答。 – TafT

回答

2

这是不一样的界面(思维略有不同),但如果我正确理解目的,我通常只需使用sprintf

puts "%10s" % ["foo"] # => "  foo" 
puts "%-10s" % ["bar"] # => "foo  " 
+0

完美,'puts“%-10s”%[“bar”]#=>“foo”'是我所希望的,但感谢给我两种方式,因为我相信它会有用。我还远远没有用C++流来输出输出,完全忘记了sprintf for C这是一个更像Ruby的输出系统。感谢您的回答 :-) – TafT

相关问题