То, что рекомендует Франсуа Февот, является лучшим и самым безопасным. Однако, если вы хотите покопаться во внутренностях (опять же - я бы не рекомендовал это в производственном коде, но иногда это полезно), вы можете написать:
get_parameters(x::DataType) = collect(x.parameters)
Теперь вы можете получить вектор параметров из x
для любого типа, который равен DataType
:
julia> get_parameters(Vector{Int})
2-element Array{Any,1}:
Int64
1
julia> get_parameters(Int)
0-element Array{Any,1}
julia> get_parameters(Dict{Int, Union{String, Missing}})
2-element Array{Any,1}:
Int64
Union{Missing, String}
Преимущество здесь в том, что переданный x
может быть любым DataType
.