我们说我的终端是4列宽,我打印4 X
s和返回字符:
$ print "XXXX\r"
$ yesyeshellothiscanbeanythig
\r
返回到行的开头,以便跟随的字符(yesyeshellothiscanbeanythig
)可以覆盖它们。
我希望超越一行实现此效果:当我有五个X
并且最后X
换行到第二行时,我希望\r
向后移动两行。
我想要的是什么:
$ print "XXXX\r"
$ overwrite
我得到了什么:
$ print "XXXXX\r"
XXXX
$ overwrite
打印前4个X
,然后将第五个X
打包到换行符上,然后\r
仅转到第二行的开头,离开第一行4 X
完好无损。
是否有一种独立于平台的方式让\r
回到第一行的开头?如果行是通过换行而不是明确的\r
生成的,我认为\n
将转到第一行的开头。
答案 0 :(得分:2)
var ts = new Date / 1E3 | 0;
console.log(ts);
仅将光标移动到当前行的开头。有没有标准化的方法将光标移动到其他行 - 不同的平台有不同的方法来做到这一点。在Windows上,您使用Win32控制台API移动光标,在Linux / UNIX / OS X上,您将使用ANSI转义码来移动光标。
Ruby Curses库可以做到这一点,但我不确定它是否适用于Windows。