gpt4 book ai didi

console-application - J 将回车符转换为换行符

转载 作者:行者123 更新时间:2023-12-02 13:33:27 25 4
gpt4 key购买 nike

我正在尝试为命令行应用程序实现进度条,例如

[#####     ] 50% complete

我知道我可以退格到行首并覆盖,但这看起来很恶心。我宁愿使用回车符将光标放在第一列,然后覆盖。

问题是 J 引擎似乎没有渲染回车符,而是渲染换行符+回车符。

这是我尝试过的:

echo 'hi',(10{a.),'world' (其中 10{a. 是 ASCII 10,即回车符),打印

hi
world

echo 'hi',(13{a.),'world' (换行符)打印

hi
world

shell 'printf "%s\r%s"hi world' 打印

hi
world

shell 'printf "%s\n%s"hi world' 打印

hi
world

最后,我在 JHS 而不是 Jconsole 中尝试了上述所有操作,得到了相同的结果。

由此可见三件事:

  1. J 前端将回车符转换为回车符+换行符。
  2. J 前端还将外部(例如通过 printf)生成的回车符处理为换行符。
  3. J 确实能够自行识别换行符,如上一个示例所示。

有什么帮助吗?

最佳答案

丑陋但有效:

   0$ stdout shell 'printf "99 problems\rno"'
no problems

更新 - 丑陋程度降低 50%!

最好避免从 shell 调用 printf:

   0$stdout 'hi world',(13{a.),'12'
12 world

更新 - 丑陋程度减少 75%!

感谢@Eelvex 的评论

   0$stdout 'hi world',CR,'12'
12 world

关于console-application - J 将回车符转换为换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30695041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com