2013-11-12 5 views
1

Может ли рубины или печатать рисовать горизонтальную линию вроде как bash делает с printf + tr делает?Печать горизонтальной линии в рубине

printf '%20s\n' | tr ' ' - 

это привлечет:

-------------------- 
+0

@Felix Подождите, значит, вы хотите сказать, что вы не можете просто сделать это в рубине, используя стандартную библиотеку? –

+0

Хорошо, я пропустил точку. Я имел в виду проклятия, потому что думал, что вам нужна линия без «пробелов». – Felix

ответ

3

Я использую быстрый puts "*"*80 для целей отладки. Я уверен, что есть лучшие способы.

+0

Отлично, спасибо! – Tux

6

Вы можете использовать следующий фрагмент кода

puts "-"*20 

Проверить this для получения дополнительной помощи.

Возможно, вас заинтересует форматирование с использованием ljust, rjust и center.

+1

Просто спрашивайте, не имеет ли ruby ​​что-то вроде '' {0:^20} ". Format (var)' like in Python? –

+0

@GamesBrainiac Вывод фрагмента, который вы упомянули, - '' - '', который не соответствует требованиям OP. Но 'print (" - "* 20)' должен работать и на python. –

+0

Я понимаю это, но если вы спросите что-то более конкретное, тогда вы разобьетесь. Например, если вы хотите заполнить пустые пространства '-', и у вас есть строка для ее форматирования, вы застряли. В python его легко использовать как '' {0: -^20} ". Format (" END OF TASK ")'. –

1

Для причудливых линий:

p 'MY_LINE'.center(80,'_-') 
#=> "_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-MY_LINE_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_" 
1

Вы также могли бы иметь следующее:

puts "".center(20, "-") 

irb(main):005:0> puts "".center(20, '-') 
=> "--------------------" 

Это может быть более гибким, если вы хотите добавить дополнительную информацию:

irb(main):007:0> puts "end of task".center(20, "-") 
----end of task----- 
=> nil 
+0

+1 Собирался ответить тем же самым в комментариях к моему ответу, но потом увидел ваш ответ. FWIW, ссылка в моем ответе содержит документацию для '.center',' .ljust' и '.rjust'. –

+1

@ ansh0l Я исследовал и нашел это. Я получил ужасное избиение от парней в чате, хотя: P –

0

You также можно использовать String#ljust или String#rjust.

puts ''.rjust(20,"-") 
# >> -------------------- 
puts ''.ljust(20,"-") 
# >> -------------------- 
Смежные вопросы