Рубиновый множественный шрифт на одной строке - PullRequest
10 голосов
/ 09 сентября 2011

Существует ли простой способ для Ruby печатать в одну строку, а затем для следующей печати печатать на этой же строке с начала.

Я пытаюсь сделать простой счетчик файлов, показанный настандартный вывод во время генерации файлов.Это похоже на быстро обновляемый номер в той же позиции на экране.

Ответы [ 3 ]

18 голосов
/ 09 сентября 2011

можно использовать \ r ..

while(true) do
  print "\\\r"
  print "|\r"
  print "/\r"
end

Напечатает символ, а затем переместит курсор назад и напечатает поверх него, сделав немного вращающуюся вещь. Еще вы можете посмотреть на что-то вроде проклятий .... (https://github.com/rkumar/rbcurse для рубиновой обертки)

7 голосов
/ 09 сентября 2011

Вы можете попробовать что-то вроде этого:

print "Hello"
print 13.chr
print "123"

Если ваша консоль поддерживает перевод строки, она должна заменить первые символы и вывести «123lo». Пример со счетчиком может выглядеть следующим образом:

100.times{|x| print x; print 13.chr; sleep 0.01}
0 голосов
/ 09 сентября 2011

Если вы печатаете на терминале, вы можете использовать управляющие символы или проклятия. Если вы знаете, сколько элементов вы обрабатываете, вам может быть проще сделать текстовый индикатор выполнения, например, wget / etc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...