2011-05-10 123 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