#ruby #string #printing #hex
#ruby #строка #печать #шестнадцатеричный
Вопрос:
Если у меня есть переменная x, которая когда-нибудь будет обычной строкой для печати, а иногда некоторыми случайными шестнадцатеричными данными (включая непечатаемые символы), как я могу надежно напечатать это с заполнением пробелов? пример:
def print(x)
puts("%-15s" % x)
end
x = "test"
print(x)
x = Array.new(256) { rand(256) }.pack('c*')
print(x)
Комментарии:
1.
that will sometime be a ...
print that will space padding
? опечатка?
Ответ №1:
def print(x)
puts "%-15s" % [x.inspect]
end
И если вы хотите избавиться от "..."
:
puts "%-15s" % [x.inspect[1..-2]]
Комментарии:
1. Хотя вы, вероятно, знаете это, обратите внимание, что
String#%
не требует, чтобы аргумент был массивом, если передается только один элемент, т.Е.puts "%-15s" % x.inspect