假设你在Julia中定义了一个新的复合类型并创建了一个该类型的变量:
type MyType
α::Int64
β::Vector{Float64}
γ::Float64
MyType(α::Int64, β::Vector{Float64}, γ::Float64) = new(α, β, γ)
end
mt = MyType(5, [1.2, 4.1, 2], 0.2)
如果您处于 REPL 模式下,只需键入 mt
并按 Enter 键即可轻松检查 mt
的值:
mt
MyType(5,[1.2,4.1,2.0],0.2)
如果我想自定义显示MyType
变量的方式,我可以定义一个函数并像这样使用它:customized_display(mt)
:
function customized_display(me::MyType)
println("MyType")
println("α:$(me.α), β:$(me.β), γ:$(me.γ)")
end
customized_display(mt)
MyType
α:5, β:[1.2,4.1,2.0], γ:0.2
然而,使用另一个函数来显示mt
的值似乎是多余的。我需要扩展哪个函数,以便仅通过键入mt
即可显示自定义显示?
writemime
方法,例如:Base.writemime(io::IO, ::MIME"text/plain", mt::MyType) = println(mt.α)
。 - jverzani