2011-09-05 73 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

相關問題