Ruby在同一行上多次打印

时间:2011-09-09 18:26:04

标签: ruby printing

Ruby有一种简单的方法可以在一行中打印,然后在下一次打印时,它从头开始打印到同一行。

我正在尝试在生成文件时在stdout上显示一个简单的文件计数器。它看起来像是屏幕上同一位置的快速更新号码。

3 个答案:

答案 0 :(得分:18)

可以使用\ r ..

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

将打印字符然后将光标向后移动并在其上方打印,制作一个类似于旋转器的东西。否则你可以看看像诅咒......(https://github.com/rkumar/rbcurse为红宝石包装)

答案 1 :(得分:7)

您可以尝试这样的事情:

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

如果你的控制台支持换行,它应该替换第一个字符并打印“123lo”。计数器的示例可能如下所示:

100.times{|x| print x; print 13.chr; sleep 0.01}

答案 2 :(得分:0)

如果你打印到类似终端的东西,你可以使用控制字符或诅咒。如果您知道正在处理的项目数量,那么创建文本进度条可能会更容易,例如wget / etc。