debugging - 来自 Julia REPL 的 "Watch"长数组?

标签 debugging julia watch

假设我有一个长数组。

> using MakieGallery
> size(database)
(210,)

如果我这样做

> [d.title for d=database]

它将被截断地打印出来,如果我显示它,它会把它打印成一团乱麻:

> show([d.title for d=database])

我不知道怎么做,但也许我可以将值打印到一列中,这样我的控制台就会向上滚动。

这一切都很糟糕。是否可以对变量进行某种简单的“监视”? IE。在带有列表控件的单独窗口中打开一些小部件,显示一个数组,我可以根据需要滚动它?

最佳答案

Julia 在内部使用 Base.show 来显示 REPL 中的值,你可以简单地以任何你喜欢的方式扩展这个函数(这个例子只是一个非常简单的实现来打印数组的每个元素在一个新行中,你可能不应该使用它):

Base.show(io::IO, ::MIME"text/plain", x::Array) = x .|> println

然后您可以继续并将您的函数添加到 .julia/config/startup.jl 以在每次启动 REPL 时加载它。只需确保有一个真正可靠的实现来处理可能无法正常运行的各种边缘情况。

关于debugging - 来自 Julia REPL 的 "Watch"长数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65155839/

相关文章:

angularjs - 将对象传递给自定义指令而不创建观察者?

angularjs - Angular $ watch空值错误

c - 如何观察一个变量?

debugging - Microsoft JET SQL 查询日志记录或 "How do I debug my customer' 程序?”

Julia :如何漂亮地打印数组?

constants - 为什么在这些 julia 函数中不尊重常量性?

dataframe - 如何在 julia 中只更改一个列名

c - 从文件读取特定字符串时程序执行中断

javascript - 基本 HTML 白色方形标题 Bug 主页

debugging - Dart DevTools显示 "Connect to a running app"