【问题标题】:julia: Change printed function outputjulia:更改打印功能输出
【发布时间】:2023-12-31 11:18:01
【问题描述】:

在 julia 中,当一个函数被调用时,它会自动将输出打印到控制台,即

julia> [1:10]+5
10-element Array{Int64,1}:
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15

我正在使用 Gadfly 的绘图函数,它创建了一个绘图。虽然输出看起来很糟糕。我不想完全抑制输出(我认为可以使用; 来完成)。我想保留summary 部分(在上面的例子中10-element Array{Int64,1}

我该怎么做?

【问题讨论】:

  • 所以你想弄乱REPL?像 'println(summary(ans))' 这样的下一行还不够吗?

标签: output read-eval-print-loop julia


【解决方案1】:

如果我的理解正确,简单的解决方案是为 Gadfly 的图定义一个 show 方法:

Base.show(io::IO,p::Gadfly.Plot) = print(io, summary(p))

如果您愿意,可以更复杂地显示有关p 的更多信息。不过,在大多数情况下,我认为 Gadfly 实际上应该生成情节图像并将其展示给您(通过更丰富的显示机制)。

【讨论】: