arrays - 具有指定维度的数组的类型别名

标签 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 执行我想要的操作上面?

最佳答案

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

julia> typealias MyArrayType{N,T} Array{T,N}
Array{T,N}

julia> Array{Float64, 1} <: MyArrayType{1}
true

julia> Array{Any, 8964} <: MyArrayType{8964}
true

julia> Array{Float64, 2} === MyArrayType{2, Float64}
true

关于arrays - 具有指定维度的数组的类型别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35445040/

相关文章:

java - 抽象类错误 : Exception in thread "main" java. lang.NullPointerException

C++, float 到整数类型转换

sql - 从两个数字构造几何类型

types - 在闭包中使用多个方法构造函数,以及错误 "syntax: local variable T cannot be used in closure declaration"

Julia:并行构建多种类型

arrays - PowerShell 数组计数不为零

javascript - 使用 Lodash 比较对象数组和整数数组

c - 节省内存,巨大的数组替代c编程

c++ - Winsock - 在 C++ 中从 Java 客户端读取整数

julia - Julia REPL 中仅允许有限输出的选项是什么?