2011-05-10 206 views
0

如果我有一個變量x,它有時會成爲一個正常的可打印字符串,有時候會是一些隨機的十六進制數據(包括不可打印的字符),我該如何可靠地打印該空間填充?例如:Ruby:打印不可打印的數據字符串

def print(x) 
    puts("%-15s" % x) 
end 

x = "test" 
print(x) 
x = Array.new(256) { rand(256) }.pack('c*') 
print(x) 
+0

',將一段是...','印刷是將空間padding'?錯字? – sawa 2011-05-10 16:27:41

回答

1
def print(x) 
    puts "%-15s" % [x.inspect] 
end 

如果你想擺脫"..."的:

puts "%-15s" % [x.inspect[1..-2]] 
+0

雖然您可能知道這一點,但請注意,如果只傳遞一個項目,則'String#%'不需要參數爲數組,即'puts'%-15s「%x.inspect' – Phrogz 2011-05-10 16:53:36