Может ли рубины или печатать рисовать горизонтальную линию вроде как bash делает с printf + tr делает?Печать горизонтальной линии в рубине
printf '%20s\n' | tr ' ' -
это привлечет:
--------------------
Может ли рубины или печатать рисовать горизонтальную линию вроде как bash делает с printf + tr делает?Печать горизонтальной линии в рубине
printf '%20s\n' | tr ' ' -
это привлечет:
--------------------
Я использую быстрый puts "*"*80
для целей отладки. Я уверен, что есть лучшие способы.
Отлично, спасибо! – Tux
Вы можете использовать следующий фрагмент кода
puts "-"*20
Проверить this для получения дополнительной помощи.
Возможно, вас заинтересует форматирование с использованием ljust, rjust и center.
Просто спрашивайте, не имеет ли ruby что-то вроде '' {0:^20} ". Format (var)' like in Python? –
@GamesBrainiac Вывод фрагмента, который вы упомянули, - '' - '', который не соответствует требованиям OP. Но 'print (" - "* 20)' должен работать и на python. –
Я понимаю это, но если вы спросите что-то более конкретное, тогда вы разобьетесь. Например, если вы хотите заполнить пустые пространства '-', и у вас есть строка для ее форматирования, вы застряли. В python его легко использовать как '' {0: -^20} ". Format (" END OF TASK ")'. –
Для причудливых линий:
p 'MY_LINE'.center(80,'_-')
#=> "_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-MY_LINE_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"
Вы также могли бы иметь следующее:
puts "".center(20, "-")
irb(main):005:0> puts "".center(20, '-')
=> "--------------------"
Это может быть более гибким, если вы хотите добавить дополнительную информацию:
irb(main):007:0> puts "end of task".center(20, "-")
----end of task-----
=> nil
+1 Собирался ответить тем же самым в комментариях к моему ответу, но потом увидел ваш ответ. FWIW, ссылка в моем ответе содержит документацию для '.center',' .ljust' и '.rjust'. –
@ ansh0l Я исследовал и нашел это. Я получил ужасное избиение от парней в чате, хотя: P –
You также можно использовать String#ljust
или String#rjust
.
puts ''.rjust(20,"-")
# >> --------------------
puts ''.ljust(20,"-")
# >> --------------------
@Felix Подождите, значит, вы хотите сказать, что вы не можете просто сделать это в рубине, используя стандартную библиотеку? –
Хорошо, я пропустил точку. Я имел в виду проклятия, потому что думал, что вам нужна линия без «пробелов». – Felix