Julia println() 不打印/行为不一致

Min*_*ker 5 julia atom-editor juno-ide

这可能是一个初学者问题,但我在文档或基本教程中找不到任何相关内容。我正在使用 Julia 1.4.2(这是最新的稳定版本),并且按照文档/教程中的建议,使用带有 Juno 的 Atom 编辑器。这是在 Ubuntu 18.04 上。

我的最小可重现示例:

function main()
    b = 300000
    println(b)
    println(b, " asdf")
end

main()
Run Code Online (Sandbox Code Playgroud)

似乎有时会输出,如预期的那样,

300000
300000 asdf
Run Code Online (Sandbox Code Playgroud)

但它通常只输出

300000 asdf
Run Code Online (Sandbox Code Playgroud)

当 Julia 停止时,后一个“错误”输出似乎最常发生,我单击“全部运行”,这将启动 Julia 并运行脚本。这里发生了什么?如果这是一个微不足道的初学者错误,我深表歉意。谢谢。

Prz*_*fel 5

您似乎正在使用 Atom IDE。

不幸的是,Atom Juno 有时会“吃掉”Julia 脚本的第一条输出行——我已经见过几次了。

似乎有效的解决方法是强制刷新标准输出缓存:

flush(stdout)
Run Code Online (Sandbox Code Playgroud)

这会清理缓存并强制 Julia REPL 和 Atom 之间的通信。