调用哪些函数在julia REPL上显示(数组)变量?

调用哪些函数在julia REPL上显示(数组)变量?,julia,read-eval-print-loop,Julia,Read Eval Print Loop,假设我进入: julia> X = randn(3,4) 3x4 Array{Float64,2}: -0.862092 0.78568 0.140078 -0.0409951 -0.157692 0.0838577 1.38264 -0.296809 1.40242 -0.628556 -0.500275 0.258898 调用了哪些函数来生成给定的输出 请注意,重载Base.show似乎不足以改变这种行为,因此我不确定该去哪里 jul

假设我进入:

julia> X = randn(3,4)
3x4 Array{Float64,2}:
 -0.862092   0.78568     0.140078  -0.0409951
 -0.157692   0.0838577   1.38264   -0.296809 
  1.40242   -0.628556   -0.500275   0.258898 
调用了哪些函数来生成给定的输出

请注意,重载Base.show似乎不足以改变这种行为,因此我不确定该去哪里

julia> Base.show(io::IO, A::Array{Float64, 2}) = println("Humbug")
show (generic function with 120 methods)

julia> X
3x4 Array{Float64,2}:
 -0.862092   0.78568     0.140078  -0.0409951
 -0.157692   0.0838577   1.38264   -0.296809 
  1.40242   -0.628556   -0.500275   0.258898 
在这种情况下,我是否必须更改Base/array.jl源代码并重新生成julia,然后才能进行更改?请注意此类型与用户定义类型之间的差异:

julia> type foo
       x::Float32
       s::ASCIIString
       end

julia> ob = foo(1., "boo")
foo(1.0f0,"boo")

julia> Base.show(io::IO, someob::foo) = print("Humbug!")
show (generic function with 123 methods)

julia> ob
Humbug!

嗯,您应该重载
display()


您可以在中找到定义。

嗯,您应该重载
display()

您可以在中找到定义。

Base.show(X)
将为您提供
Humbug
:)
Base.show(X)
会给你一个
Humbug
:)
julia> Base.display(A::Array{Float64, 2}) = println("Humbug")
display (generic function with 11 methods)

julia> X
Humbug