是否有一种简单的方法可以让Ruby在一行中打印,然后在下一次打印时,从一开始就打印到同一行。Ruby在同一行上多次打印
我想在生成文件时在stdout上显示一个简单的文件计数器。它看起来像是屏幕上相同位置的快速更新号码。
是否有一种简单的方法可以让Ruby在一行中打印,然后在下一次打印时,从一开始就打印到同一行。Ruby在同一行上多次打印
我想在生成文件时在stdout上显示一个简单的文件计数器。它看起来像是屏幕上相同位置的快速更新号码。
可以使用\ r ..
while(true) do
print "\\\r"
print "|\r"
print "/\r"
end
将打印的字符,然后移动光标返回并打印了它,使有点像飞旋事情。否则,你可以看看像诅咒....(https://github.com/rkumar/rbcurse为红宝石包装)
如果您打印到类似终端的东西,您可以使用控制字符或诅咒。如果你知道你正在处理的物品有多少,那么只需制作一个文本进度条就可以更容易一些,不过,就像wget/etc一样。
你可以尝试这样的事情:
print "Hello"
print 13.chr
print "123"
如果你的控制台支持换行,那么它应该取代第一字符和打印“123lo”。用计数器可能如下示例如下:
100.times{|x| print x; print 13.chr; sleep 0.01}
令人生气的是,这在Ubuntu上本地工作,但不通过SSH在SUSE上表现。顺便说一句 - 不是一个CR而不是LF – stjohnroe