为具有指定维度

时间:2016-02-16 23:25:59

标签: arrays types julia

我希望有一个类型别名,例如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所需的操作?

1 个答案:

答案 0 :(得分:4)

如您所知,您可以始终省略尾随类型参数作为不限制它们的简写。因此,通过创建一个交换参数顺序的类型,可以省略数组的元素类型:

null