hoo*_*rEE 5 console-application j carriage-return
我正在尝试为命令行应用程序实现进度条,例如
[##### ] 50% complete
Run Code Online (Sandbox Code Playgroud)
我知道我可以退回到线的起点并覆盖,但这看起来很糟糕.我宁愿使用回车键将光标放在第一列然后覆盖.
问题是J引擎似乎不呈现回车符,而是呈现换行符+回车符.
这是我尝试过的:
echo 'hi',(10{a.),'world'(10{a.打印时,ASCII 10,即回车)
hi
world
Run Code Online (Sandbox Code Playgroud)
echo 'hi',(13{a.),'world' (换行)打印
hi
world
Run Code Online (Sandbox Code Playgroud)
shell 'printf "%s\r%s" hi world' 打印
hi
world
Run Code Online (Sandbox Code Playgroud)
shell 'printf "%s\n%s" hi world' 打印
hi
world
Run Code Online (Sandbox Code Playgroud)
最后,我在JHS中尝试了以上所有内容而不是Jconsole,结果相同.
由此可见,有三件事是显而易见的:
有帮助吗?
丑陋但有效:
0$ stdout shell 'printf "99 problems\rno"'
no problems
Run Code Online (Sandbox Code Playgroud)
更好,以避免printf从shell 调用:
0$stdout 'hi world',(13{a.),'12'
12 world
Run Code Online (Sandbox Code Playgroud)
感谢@Eelvex的评论
0$stdout 'hi world',CR,'12'
12 world
Run Code Online (Sandbox Code Playgroud)