是否有一種簡單的方法可以讓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