回到REPL

时间:2016-06-11 22:59:09

标签: console julia overwrite

是否可以在我的脚本中包含代码,将光标设置回当前行的开头,因为它在REPL中打印输出? (即,以便用户看到的内容得到更新)。我在\r中尝试了@printf,但它似乎与\n相同。

到目前为止,我找到的唯一解决方案是@printf多个\b字符:

julia> @printf("one\ntwo\rthree")
one
two
three
julia> @printf("one\ntwo\b\bhree")
one
three
julia>

有没有更好的方法将光标设置为当前行的开头?我在Windows系统上。

2 个答案:

答案 0 :(得分:2)

您可能在@printf宏中遇到了错误。我刚试过你的例子,它现在运行正常 - 即它按预期的方式工作,输出two现在被three覆盖: julia> @printf "one\ntwo\rthree" one three

答案 1 :(得分:1)

这适用于mac和linux。关于窗户不确定。

for idx = 1:10
    sleep(1)
    @printf("\tSeconds Passed =%d%s", idx, '\r')
end

@printf帮助说它使用C样式格式,因此此响应基于此。开头的\t只是为了让输出更容易看到。