我希望有一个类型别名,例如MyArrayType{N}
,以便Array{T,N} <: MyArrayType{N}
代表任何T
。
例如,
julia> Array{Float64, 1} <: MyArrayType{1}
true
julia> Array{Float64, 2} <: MyArrayType{1}
false
julia> Array{Float64, 2} <: MyArrayType{2}
true
julia> Array{Integer, 1} <: MyArrayType{1}
true
julia> Array{Any, 1} <: MyArrayType{1}
true
julia> Array{Any, 8964} <: MyArrayType{8964}
true
julia> Array{Any, 2047} <: MyArrayType{8964}
false
我知道已经存在类型别名Array{T}
,可以为任何Array{T,N} <: Array{T}
执行N
。是否已经存在类型别名,可以执行上面的MyArrayType
所需的操作?
答案 0 :(得分:4)
如您所知,您可以始终省略尾随类型参数作为不限制它们的简写。因此,通过创建一个交换参数顺序的类型,可以省略数组的元素类型:
null