Julia 有类似 `dbg!` 的宏吗?

问题描述 投票:0回答:1

Rust 有非常方便的

dbg!
宏:

fn main() {
  dbg!(1 + 2);
}

上面的代码输出

[src/main.rs:2] 1 + 2 = 3

Julia 有类似的东西吗?

或者也许还有其他东西可以满足我的用例?我希望能够输出每个结果,但删除分号只会显示最后一个没有分号的结果(而不是像 MATLAB 这样的所有结果)。

debugging formatting julia output
1个回答
0
投票

有许多内置宏可以执行此操作:

julia> let x = 7
         @show x^2
         @info "cube of $x" x^3
         @warn "minus" -x maxlog=3
       end
x ^ 2 = 49
┌ Info: cube of 7
└   x ^ 3 = 343
┌ Warning: minus
│   -x = -7
└ @ Main REPL[42]:4

第一个只是打印到标准输出(参见例如

@macroexpand @show x
),宏
@info
@warn
使用 Logging 模块,该模块具有各种更复杂的功能,包括抑制某些打印输出。
@warn
@error
打印调用站点的详细信息,(如@BallpointBen 提及)也可以直接从特殊宏
@__MODULE__
@__FILE__
@__LINE__
获得。

© www.soinside.com 2019 - 2024. All rights reserved.