Julia:可能只为Vector {S}或S使用1个参数

时间:2016-10-28 02:35:08

标签: parameters julia

是否可以只使用一个参数来执行以下操作

type mytype{S}
  x::Vector{S}
  y::Vector{S} OR y::S
end

值y应该是S类型的向量,或者只是S类型的单个元素。

我想要这个的原因是因为我真的有

y::Dict{Vector{S}, Vector{Int64}}

当键只有1个元素时,这很难看

y["key"]   #want this
y[["key"]] #must use this

1 个答案:

答案 0 :(得分:1)

我认为你需要三角调度。你想要的是

type mytype{S,T<:Union{S,Vector{S}}}
  x::Vector{S}
  y::T
end

这将在v0.6中,见https://github.com/JuliaLang/julia/pull/18457