有时访问类型的非参数化版本会很有帮助。例如。如果我有foo::Foo{A,B}
,最好有basetype(foo::Foo{args...}) = Foo
之类的东西。朱莉娅会提供这样的东西吗?
答案 0 :(得分:5)
您可以将Base.typename
与参数类型一起使用。它以Core.TypeName
的形式返回类型名称,您可以使用其wrapper
字段提取类型。
julia> Base.typename(typeof([1])).wrapper
Array
julia> Base.typename(Array{Int64, 1}).wrapper
Array
您也可以直接使用T.name.wrapper
检索此信息,而 可能最好由Julia进行优化,尽管这听起来不是一个好主意。请参阅相关问题here。