use*_*379 5 abstract-data-type julia
我有兴趣定义一个结构体,该结构体的字段是向量的向量。内部向量有可能(但不一定)是类型SVector
(在 StaticArrays 包中定义)。我天真的做法是声明该字段x::AbstractVector{AbstractVector{T}}
;然而,Julia 并不认为Vector{SVector{3, Float64}}
是 的一个实例AbstractVector{AbstractVector}
。就此而言,它也不认为Vector{Vector{64}}
是AbstractVector{AbstractVector}
。似乎包含的类型必须是具体类型,或者完全省略。我是否以错误的方式处理这件事?
使用AbstractVector{<:AbstractVector}
,因为这是一个接受其元素类型是 的子类型的任何向量的构造AbstractVector
。
相反,AbstractVector{AbstractVector}
要求元素类型准确AbstractVector
。