如何定义类型在Julia REPL上的显示方式

con*_*res 4 read-eval-print-loop julia

我不清楚如何在Julia REPL上定义类型的外观.有许多类似的声音功能,包括:显示,显示,打印,写作等.

Chi*_*olm 8

您需要为类型重载Base.show().

julia> import Base: show

julia> type Foo
           x
           y
           z
       end

julia> Base.show(io::IO, f::Foo) = println(io, "Foo: x=$(f.x), y=$(f.y), z=$(f.z)")
show (generic function with 98 methods)

julia> Foo("Hello ", "World", "!")
Foo: x=Hello, y=World, z=!
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果以这种方式重载方法:`Base.show`,那么你甚至不需要`import Base:show`. (3认同)