2011-08-26 59 views
0

我想在Ruby的格式輸出...表格輸出

我使用puts "x\t\t[OK]

假設x代表輸入文件名,並重復,直到永遠這個過程中,並假設範圍字符是從5 - 20個字符的輸出將不會被整齊

輸出樣本:http://pastebin.com/kwJ9ajqj

我想被對準的OKS。

+0

這應該在StackOverflow上。 –

+0

我認爲問題在於標籤是由不同列號開始的,因爲文件名越來越長。你可以把它改爲'放置[確定] \ t \ tx',這樣OKs排隊和文件名開始在同一列? – sbtkd85

+0

這是一個很好的解決方案。但我正在運行一個進程分析器,所以它應該像......進程名稱\ t \ t [ok] – 0xab3d

回答

1

您可以用空格使用ljust相同的(最大)長度填補了X-S。

xs = [ "short", "longer string", "even a bit longer" ] 
xs.each { | x | puts "#{x.ljust(20)} [OK]" } 

這將對齊「[OK]」。如果你需要標籤,你可以在填充後插入它們 如

puts "#{x.ljust(20)}\t\t[OK]" 
0

使用printf風格的格式:

printf("%20s %s", filename, (ok ? '[OK]' : '[FAILED]'))