Ruby有一种简单的方法可以在一行中打印,然后在下一次打印时,它从头开始打印到同一行。
我正在尝试在生成文件时在stdout上显示一个简单的文件计数器。它看起来像是屏幕上同一位置的快速更新号码。
答案 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。