【发布时间】:2015-07-21 10:14:58
【问题描述】:
假设您在 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.α)
标签: julia read-eval-print-loop