如何使用 Julia 抑制 Jupyter Notebook 中单元格的输出

pkq*_*xdd 2 julia jupyter-notebook

我一直在尝试找出如何使用 Julia 抑制 Jupyter Notebook 中最后一行的输出。特别是当最后一行是赋值时。在带有 Python 内核的 Jupyter Notebook 中,当我这样做时

\n
k=5\n
Run Code Online (Sandbox Code Playgroud)\n

在细胞中,不产生任何输出。然而,在 Julia 中,简单的赋值也会返回一个值,这使得笔记本在视觉上变得多余,并且有时无法使用长返回值来读取。例如,当我有

\n
using Random\nRandom.seed!(0) \n
Run Code Online (Sandbox Code Playgroud)\n

在单元格中,单元格产生非常长的输出,其中包含几乎不必要的细节。

\n
MersenneTwister(UInt32[0x00000000], Random.DSFMT.DSFMT_state(Int32[748398797, 1073523691, -1738140313, 1073664641, -1492392947, 1073490074, -1625281839, 1073254801, 1875112882, 1073717145  \xe2\x80\xa6  943540191, 1073626624, 1091647724, 1073372234, -1273625233, -823628301, 835224507, 991807863, 382, 0]), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0  \xe2\x80\xa6  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], UInt128[0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000  \xe2\x80\xa6  0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000, 0x00000000000000000000000000000000], 1002, 0)\n
Run Code Online (Sandbox Code Playgroud)\n

一个相关的问题建议使用%%capture魔法。但是,这不适用于 Julia 内核。

\n

有没有什么简单的方法可以抑制这种不必要的输出?

\n

pkq*_*xdd 6

好吧,我想通了。只需在最后一条语句末尾添加分号即可禁用输出。一个细胞与

Random.seed!(0);
Run Code Online (Sandbox Code Playgroud)

不产生任何输出。

  • 评论您自己的答案:Julia 代码单元格始终返回最后一个表达式的值。附加分号结束当前表达式并开始一个新表达式。然后,新的空表达式返回“nothing”,不会打印该内容。 (3认同)