【发布时间】:2019-09-11 06:09:37
【问题描述】:
抱歉,代码有点长,但它是 MWE。
说,我已经定义了一个模块,它定义了一个名为CmpVector 的新向量类型。我想覆盖打印到回购的文本。所以我已经覆盖、打印、显示和显示,但它仍然打印自己的东西。如何为新数组重载打印到 REPL??
module CmpVectors
import Base:size,print,show,getindex, setindex!, display
mutable struct CmpVector{T} <: AbstractVector{T}
# compressed::Vector{UInt8}
# vector_pointer::Ptr{T}
inited::Bool
# size::Tuple
end
size(pf::CmpVector{T}) where T = (1,)
display(io::IO, pf::CmpVector{T}) where T = begin
if pf.inited
display(io, "NOO")
else
display(io, "Vector in compressed state")
end
end
show(io::IO, pf::CmpVector{T}) where T = begin
if pf.inited
show(io, "NOO")
else
show(io, "Vector in compressed state")
end
end
print(io::IO, pf::CmpVector{T}) where T = begin
if pf.inited
show(io, "NOO")
else
print(io, "Vector in compressed state")
end
end
getindex(pf::CmpVector{T}, i...) where T = zero(T)
end # module
我跑了这个
using Revise
using CmpVectors
CmpVectors.CmpVector{Int}(true)
打印出来
1-element CmpVectors.CmpVector{Int64}:
0
【问题讨论】:
标签: julia